LINUX.ORG.RU
ФорумAdmin

iptables проброс порта


0

0
linux 2.6.24.3 Конфиг iptables, Не работает проброс порта, nmap пишет "filtered", на остальные порты - closed cat /etc/rc.d/rc.firewall

EXTERNAL=eth0 INTERNAL=eth1 EXTERNALIP1=x.x.x.x INTERNALIP1=192.168.0.2

echo 1 > /proc/sys/net/ipv4/ip_forward echo "Setting up NAT (Network Address Translation)..." iptables -F iptables -F -t nat # by default, nothing is forwarded. iptables -P FORWARD DROP # Allow all connections OUT and only related ones IN

iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELA TED -j ACCEPT iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT # enable MASQUERADING iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

# IMAP to EXCH gateway iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 143 -j ACCEPT iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 110 -j ACCEPT iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 587 -j ACCEPT iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 993 iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 993 -j DNAT iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 143 -j DNAT --to $ INTERNALIP1:143 iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 110 -j DNAT --to $ INTERNALIP1:110

iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 587 -j DNAT --to $ INTERNALIP1:587

Ответ на: комментарий от shutty
EXTERNAL=eth0
INTERNAL=eth1
EXTERNALIP1=x.x.x.x
INTERNALIP1=192.168.0.2

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Setting up NAT (Network Address Translation)..."
iptables -F iptables -F -t nat # by default, nothing is forwarded.
iptables -P FORWARD DROP # Allow all connections OUT and only related ones IN

iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELA TED -j ACCEPT
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT # enable MASQUERADING iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

# IMAP to EXCH gateway
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 143 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 587 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -p tcp --dport 993
iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 993 -j DNAT
iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 143 -j DNAT --to $ INTERNALIP1:143
iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 110 -j DNAT --to $ INTERNALIP1:110
iptables -A PREROUTING -t nat -p tcp -d $EXTERNALIP1 --dport 587 -j DNAT --to $ INTERNALIP1:587
info9216
() автор топика
Ответ на: комментарий от info9216
Черт его знает. А если отломать строчки с маскарадингом и хитрым дропом, работать начинает?

Вообще, при настройке иптаблеса не стоит писать сразу двесть злых правил, а потом болезненно думать почему все не работает. Попробуй начать с малого, а потом включать злые дропы и аксепты.

shutty
()
Ответ на: комментарий от chocholl
Я, пожалуй, таки сорву интригу.

Прежде, чем пакет попадет в FORWARD, он должен пройти INPUT. Так что и в INPUT эти правила должны быть.
nnz ★★★★
()
Ответ на: комментарий от chocholl
Через спальню в туалет - это из другой оперы.
nnz ★★★★
()
Ответ на: комментарий от info9216
Запустите tcpdump на INTERNAL интерфейсе и смотрите, уходят ли пакеты на 192.168.0.2. Думаю, что пакеты туда уходят, а там уже и происходит "filtered".
mky ★★★★★
()
Ответ на: комментарий от mky
Чорд. Пять лет думал что оно именно так. Пять лет настраивал iptables и все работало идеально. Как я теперь буду с этим жить? :D
nnz ★★★★
()
Ответ на: комментарий от mky
Вто что сказал tcpdump
tcpdump -i eth1 port 143

17:49:27.433484 IP myhost.54976 > 192.168.0.2.imap: S 402999172:402999172(0) win 3072 <mss 1460>
17:49:27.541214 IP myhost.52762 > 192.168.0.2.imap: S 402933637:402933637(0) win 2048 <mss 1460>
info9216
() автор топика
Ответ на: комментарий от info9216
То есть пакеты пробрасываются. Только myhost это $EXTERNALIP1 или машина в интернете (на которой запускается nmap)?
mky ★★★★★
()
Ответ на: комментарий от mky
>Только myhost это $EXTERNALIP1 или машина в интернете (на которой запускается nmap)?
Да. Это очень существенный момент.

2info9216: http://ru.wikipedia.org/w/index.php?title=Iptables&oldid=17107327#nat Пример для DNAT и комментарии к нему. Изучать до полного просветления.
nnz ★★★★
()
Ответ на: комментарий от nnz
> Я, пожалуй, таки сорву интригу.
>Прежде, чем пакет попадет в FORWARD, он должен пройти INPUT. Так что и в INPUT эти правила должны быть.


Прежде, чем что-либо срывать, неплохо почитать документацию.
ovax ★★★
()
Ответ на: комментарий от ovax
Я уже публично покаялся и даже (в порядке самовоспитания) начал дописывать статью на вики. Ну что поделать, у меня было тяжелое детство с фаерволами без таблиц :)
nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.