Титла: Проблем с форуърда Публикувано от: anton75 в Oct 29, 2009, 09:52 Здравейте Линуксджии :)
Имам следния проблем и за съжаление в Гуугъл не можах да намеря отговор на това, което ме тормози. Случаят е следния: от провайдера са ни дали 16 публични IP-та, две от които използвам за да се свързвам терминално с две машини от вътрешната мрежа. Цялата идея е да се напише само IP-то, без да се посочва порта и да се свържа терминално. Използвам Федора 11, конфигурирал съм файъруол-а, натва си, до тук никакви грижи. Има обаче проблем с форуърда на портовете, който ми се струва много странен. Рутъра има три мрежови интерфейса - условно да ги наречем 1, 2 и 3. 1 и 2 са свързани към провайдера, а 3 - към вътрешната мрежа. Отворил съм порт 3389, който се използва за RDP-сесии, направил съм и 2 форуърд правила - като постъпи заявка на интерфейс 1 на порт 3389 да форуърдира пакетите на 10.10.10.98, а като постъпи заявка на интерфейс 2 на порт 3389 да форуърдира пакетите на 10.10.10.95. Обаче какво се случва: като направя терминална сесия към 1 или 2, без значение, всеки път ме форуърдира на 10.10.10.98, а би трябвало при сесия към 1 -> 10.10.10.98, при сесия към 2 -> 10.10.10.95. Забелязах, че проблема се оправя, като рестартирам мрежата с service network restart, но за около 10 минути. Нямам идея какво се случва и защо. Ето ви какво съдържа файла /etc/sysconfig/iptables: # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *nat :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o eth2 -j MASQUERADE -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 10.10.10.95:3389 -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 10.10.10.98:3389 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -i eth1 -j ACCEPT -A INPUT -i eth2 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -p icmp -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i eth0 -j ACCEPT -A FORWARD -i eth1 -j ACCEPT -A FORWARD -i eth2 -j ACCEPT -A FORWARD -o eth2 -j ACCEPT -A FORWARD -i eth1 -m state --state NEW -m tcp -p tcp -d 10.10.10.95 --dport 3389 -j ACCEPT -A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 10.10.10.98 --dport 3389 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT Титла: Re: Проблем с форуърда Публикувано от: koue в Oct 29, 2009, 10:52 Здрасти,
добави в правилата за DNAT и -d IP_eth0, респективно -d IP_eth1 и виж дали ще има разлика. Титла: Re: Проблем с форуърда Публикувано от: shoshon в Oct 29, 2009, 10:57 Значи не рабизрам много от мрежи и не приемай всичко за чиста монета, но пък да си кажа:
Мисля, че порблема е в prerouting в комбинация с forward. Ето какво пише в уики: Цитат “PREROUTING”: Packets will enter this chain before a routing decision is made.В твоя случай мисля, че едно от двете е излишно. Май FORWARD. Защо не пробваш да махнеш едното а да оставиш другото, а после обратно? Ето една много ценна картинка: Цък ($2) Успех! Титла: Re: Проблем с форуърда Публикувано от: anton75 в Oct 29, 2009, 10:58 Здрасти. Май проблемът не е в руловете на iptebles-a, а в мрежата. Като изпълня service network restart и нещата се оправят за около 10 мин. И после пак се обозват. Не мога да си обясня какво се случва с мрежата след тези 10 минути, че като я рестартирам се оправя и така.
Титла: Re: Проблем с форуърда Публикувано от: anton75 в Oct 29, 2009, 11:05 Мерси колега shoshon, поставих по едно диез-че на редовете с forward-а, пъ да видим какво ще се случи. След рестарта на iptables всичко се оправи. Но докога ли...? ;)
Титла: Re: Проблем с форуърда Публикувано от: anton75 в Oct 29, 2009, 14:52 Нищо не става :(
|