Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: ivanpaparaka в Mar 07, 2007, 23:40



Титла: Ip forwarding
Публикувано от: ivanpaparaka в Mar 07, 2007, 23:40
Здравейте,
използвам старата си машина за рутер, който работи доста добре, но ми се наложи да стартирам сървър на машина зад рутера, за да има видимост, реших да направя пренасочване на определен порт, но несполучливо...
Ето детайлите
рутер:
eth1 - ISP 192.168.0.1
eth0 - PC1 192.168.0.2
iptables:
 
Примерен код

*nat
:PREROUTING ACCEPT [1584:72053]
:POSTROUTING ACCEPT [22:1415]
:OUTPUT ACCEPT [21:1375]
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [279:32689]
:FORWARD ACCEPT [1433:171774]
:OUTPUT ACCEPT [2270:199813]
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4774 -j ACCEPT
#-A INPUT -i eth1 -m state --state INVALID,NEW -j REJECT --reject-with icmp-port-unreachable
#COMMIT
#-A PREROUTING -p tcp -d 85.187.xxx.xxx --dport 4774 -j DNAT --to 192.168.0.2:4774
#-A POSTROUTING -p tcp -s 192.168.0.2 --dport 4774 -j SNAT --to 192.168.0.1:4774

#-A PREROUTING -p tcp -i eth1 -d 192.168.0.2 --dport 4774 -j DNAT --to 192.168.0.2:4774
#-A FORWARD -p tcp -i eth1 -d 192.168.0.2 --dport 4774 -j ACCEPT

#-A PREROUTING -p tcp --dport 4774 -i eth1 -j DNAT --to 192.168.0.2:4774

COMMIT


PC1 - без каквито и да било IP таблици

както виждате пробвах няколко различни синтаксиса и всеки път като рестартирам мрежата връща:
Примерен код
iptables-restore: line 24 failed
Failed to bring up eth0.
въпреки, че eth0 си е функционираща


Титла: Ip forwarding
Публикувано от: Hapkoc в Mar 08, 2007, 01:40
На Debian с iptables 1.3.3 в iptables(8) пише, че параметъра на DNAT е '--to-destination'. Виждал съм съкратената версия ('--to'), но в момента поне в man-а не я пише, така че можеш да пробваш с дългата. Някой запознат да каже каква е случката.

Иначе ми изглежда наред правилото.


Титла: Ip forwarding
Публикувано от: neter в Mar 08, 2007, 02:46
Няма проблем да се използва съкратения --to вариант. Само че, в командата трябва да присъства и указател за таблицата (-t nat), защото без него се опитваш да добавиш правило в таблицата по подразбиране filter. Т.е., правилото трябва да изглежда така
-t nat -A PREROUTING -p tcp --dport 4774 -i eth1 -j DNAT --to 192.168.0.2:4774
Интересно обаче, защо винаги ти връща грешка, че не може да вдигне eth0? За правилата без указан интерфейс - ок, но в повечето си указал eth1. Странно. Както и да е, пробвай да добавиш -t nat в правилото, да видим какво ще стане.


Титла: Ip forwarding
Публикувано от: Hapkoc в Mar 08, 2007, 07:25
Вярно за таблицата, обаче по-чисто ми се струва да се премести правилото примерно на ред 6. Това ми мяза на файл, генериран от iptables-save и в началото на файла е nat таблицата.

Колкото до 'Failed to bring up eth0' - предполагам дистрибуцията е Debian-базирана и iptables се вика от /etc/network/interfaces на pre-up на eth0?


Титла: Ip forwarding
Публикувано от: edi в Mar 08, 2007, 08:51
наистина ли се опитваш да сложиш ip-та от една мрежа на двата интерфейса и да правиш нат?





Титла: Ip forwarding
Публикувано от: ivanpaparaka в Mar 08, 2007, 08:56
когато сложа -t nat вади грешка:
Цитат

iptables-restore v1.3.5: Line 24 seems to have a -t table option.

Error occurred at line: 24
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
Failed to bring up eth0.
                                                                         [ ok ]


после видях че има правило: POSTROUTING ACCEPT [22:1415]
а аз се мъча да подкарам по-голям порт, също така преместих правилото на 6 ред, както ме посъветва Hapkoc.
Доволно мога да кажа, че мрежата се рестартира без много излишен шум. Мерси много :)


Титла: Ip forwarding
Публикувано от: teh в Mar 12, 2007, 11:30
Това са броячи, не са портове - "[брой пакети:байтове]". Също така нямам представа как ти работи мрежата ако наистина използваш такива адреси.