LINUX.ORG.RU
ФорумAdmin

iptables


0

0

Не работает!!! :-(
IP статический.
iptables -t nat -A PREROUTING -p tcp --dst 85.85.85.85 --dport 25 -j DNAT --to-destination 10.0.1.100:25
Соеденяюсь из инета с серваком.
bash-3.1$ nc 85.85.85.85 25
(UNKNOWN) [85.21.103.38] 25 (smtp) : No route to host
bash-3.1$
В чем дело?


Ну, здрасте.

А что, собственно, вообще, происходит? Где ты и где сервак? Почему нужда, по-твоему мнению, в DNAT? Короче, опиши ситуацию.

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

ping проходит.
Сервак имеет внешний ip и собственно является шлюзом сети.
Внутри сети есть почтовый сервер, ему и нужен DNAT.
А nc это с моего домашнего компа на этот шлюз.

Giz0
() автор топика
Ответ на: комментарий от Lego_12239

Да.
Мне нужно чтоб на шлюз мог коннектится кто угодно из инета
на 25-й порт и поподал на локальную машину за ним.
Это и есть DNAT. И реализуется типа одной строчкой:
iptables -t nat -A PREROUTING -p tcp --dst 85.85.85.85 --dport 25 -j DNAT --to-destination 10.0.1.100:25
Ща добавил еще одну строку:
iptables -A FORWARD -i eth0(85.85.85.85) -o eth1(10.0.1.1) -p tcp --dst 10.0.1.100 --dport 25 -j ACCEPT 
Вот и все типа.
Повторяюсь есть еще NAT, он работает.
В чем может быть дело?

Giz0
() автор топика

Вот весь конфиг:
iptables-save
# Generated by iptables-save v1.2.11 on Wed Dec 20 23:48:04 2006
*nat
:PREROUTING ACCEPT [191:18147]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [3:243]
-A PREROUTING -d 85.85.85.85 -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.0.1.100:25
-A POSTROUTING -o eth0 -j SNAT --to-source 85.85.85.85
COMMIT
# Completed on Wed Dec 20 23:48:04 2006
# Generated by iptables-save v1.2.11 on Wed Dec 20 23:48:04 2006
*mangle
:PREROUTING ACCEPT [15431:2618008]
:INPUT ACCEPT [2011:161914]
:FORWARD ACCEPT [13420:2456094]
:OUTPUT ACCEPT [547:60367]
:POSTROUTING ACCEPT [13965:2516365]
-A FORWARD -d 10.0.1.100 -i eth0 -o eth1 -p tcp -m tcp --dport 25 -j ACCEPT
COMMIT
# Completed on Wed Dec 20 23:48:04 2006
# Generated by iptables-save v1.2.11 on Wed Dec 20 23:48:04 2006
*filter
:INPUT ACCEPT [2011:161914]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [547:60367]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -s 10.0.1.138 -j ACCEPT
-A RH-Firewall-1-INPUT -s 10.0.1.152 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 26 -m state --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1080 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 123 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 2083 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 6667 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 2080 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 2099 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 81 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 5190 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 995 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 2042 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 465 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 587 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 3690 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 143 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 993 -j ACCEPT
-A RH-Firewall-1-INPUT -s 10.0.1.20 -i eth1 -p tcp -m tcp -j ACCEPT
-A RH-Firewall-1-INPUT -s 10.0.1.139 -i eth1 -p tcp -m tcp --dport 5224 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Dec 20 23:48:04 2006

Giz0
() автор топика
Ответ на: комментарий от Giz0

Если пинги на почтовый комп проходят, то можно просто посмотеть в iptables что им позволяет проходить и заделать тоже самое для 25 порта. Это по первости.

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

НЕТ! Какие пинги?
Как они с DNAT до него дойдут?
Пинги доходят до шлюза.
Этим способом я хочу вынести на шлюзе всего один порт 25.

Giz0
() автор топика
Ответ на: комментарий от Giz0

Туплю, расслабься :-)(говорю же, сплю уже).

По-моему,у тебя очень много ненужных правил с ACCEPT при политике ACCEPT. Это нормально?

Смотрим дальше :-)...

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

Да согласен.
Просто я уже тут замучился делать DNAT!
И все что можно было изменил и открыл. 
И и не хочет!
Да интересный факт, если я коннекчусь на 25 порт то
No route to host, а если на порт у которого нету DNAT
пишет Connection refused.

Giz0
() автор топика
Ответ на: комментарий от Giz0

Что, даже не доходят получается со шлюза :-\ ?!

Это, кстати, чей 85.21.103.38?

Попробуй telnet 85.85.85.85 smtp. Че скажет может хорошего...

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

Посмотри tcpdump'ом(или что там у тебя) на eth1 на шлюзе. Они, вообще, уходят с него :-)?

Может, по пути, теряются :-)? Кабель точно без пробоев :-)?

Lego_12239 ★★
()
Ответ на: комментарий от Lego_12239

Это когда копировал не тот IP вставил случайно.
telnet ?
Вот:
Trying 85.85.85.85...
telnet: connect to address 85.85.85.85: No route to host

Giz0
() автор топика
Ответ на: комментарий от Lego_12239

Пакеты доходят до шлюза и все. 
Приходит один пакет с флагом S.
И шлюз его никуда не перенаправляет!
Да что за БАГ!?

Giz0
() автор топика
Ответ на: комментарий от Giz0

Ох вот я дурной!!! Все дело было в этой *&^&^$%^*()(()* строчке :
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Совсем забыл. Все пора отдыхать. :)

Giz0
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.