Iptables не пересылает. Вход вместо этого

Я думаю, что это хороший вариант использования символических ссылок . (Предполагается, что у вас есть root доступ.)

Поместите файл .exrc в удобное для чтения место. Возможно / usr / local / share / , хотя на самом деле я думаю, что / usr / etc / будет уместным.

sudo mv -i ~/.exrc /usr/etc/

chown его как root и установите права доступа 644.

cd /usr/etc/
sudo chown root:root .exrc
sudo chmod 644 .exrc

Создайте символическую ссылку в своем домашнем каталоге следующим образом:

ln -s /usr/etc/.exrc ~/.exrc

И также в домашнем каталоге другого пользователя:

ln -s /usr/etc/.exrc ~anotheruser/.exrc

Вам все равно нужно будет использовать su - anotheruser или su -l anotheruser , как вы можете видеть на странице руководства:

  -, -l, --login 
сделать оболочку оболочка входа в систему, очищает все envvars, кроме 
TERM, инициализирует HOME, SHELL, USER, LOGNAME и PATH 
 

Поскольку .exrc загружается в зависимости от вашего Переменная среды $ HOME , которую необходимо установить соответствующим образом, чтобы это работало.

1
20.06.2014, 12:24
1 ответ

Сократите набор правил до минимума и начните тестирование с этого момента. Есть некоторые повторяющиеся правила, которые могут противоречить друг другу. Я бы начал с:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A PREROUTING -i eth0 -p udp -m udp --dport 11108 -j DNAT --to-destination 169.254.1.2:11108

Я бы также использовал watch , чтобы увидеть, какие цепочки / правила попадают в пакеты.

watch -n1 iptables -vnL
watch -n1 iptables -vnl -t nat

Адрес APIPA не обязательно лучше всего использовать для клиента, но это не должен влиять на получение пакетов.

0
29.04.2021, 00:39

Теги

Похожие вопросы