Автор Тема: Проблем с форуърда  (Прочетена 534 пъти)

anton75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Проблем с форуърда
« -: 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

« Последна редакция: Oct 29, 2009, 10:54 от anton75 »
Активен

koue

  • Напреднали
  • *****
  • Публикации: 74
  • Distribution: FreeBSD
  • Window Manager: fluxbox
    • Профил
Re: Проблем с форуърда
« Отговор #1 -: Oct 29, 2009, 10:52 »
Здрасти,

добави в правилата за DNAT и -d IP_eth0, респективно -d IP_eth1 и виж дали ще има разлика.
Активен

Спрете да им прощавате, че не знаят какво правят!

shoshon

  • Гост
Re: Проблем с форуърда
« Отговор #2 -: Oct 29, 2009, 10:57 »
Значи не рабизрам много от мрежи и не приемай всичко за чиста монета, но пък да си кажа:
Мисля, че порблема е в prerouting в комбинация с forward. Ето какво пише в уики:
Цитат
“PREROUTING”: Packets will enter this chain before a routing decision is made.
--------------------
“FORWARD”: All packets that have been routed and were not for local delivery will traverse this chain.
В твоя случай мисля, че едно от двете е излишно. Май FORWARD.
Защо не пробваш да махнеш едното а да оставиш другото, а после обратно?
Ето една много ценна картинка:
Цък
Успех!
Активен

anton75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Re: Проблем с форуърда
« Отговор #3 -: Oct 29, 2009, 10:58 »
Здрасти. Май проблемът не е в руловете на iptebles-a, а в мрежата. Като изпълня service network restart и нещата се оправят за около 10 мин. И после пак се обозват. Не мога да си обясня какво се случва с мрежата след тези 10 минути, че като я рестартирам се оправя и така.
Активен

anton75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Re: Проблем с форуърда
« Отговор #4 -: Oct 29, 2009, 11:05 »
Мерси колега shoshon, поставих по едно диез-че на редовете с forward-а, пъ да видим какво ще се случи. След рестарта на iptables всичко се оправи. Но докога ли...? ;)
Активен

anton75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Re: Проблем с форуърда
« Отговор #5 -: Oct 29, 2009, 14:52 »
Нищо не става :(
Активен