LINUX.ORG.RU
ФорумAdmin

[iptables]portforwarding

 


0

1

Итак, представьте себе я неосилятор iptables.
Задача ставится простая: есть небольшая домашняя сеть, у которой в интернеты смотрит сервер; у него белый ип и все дела.
Задача: пробросить порт(например, 10000) для ссх с 192.168.1.3 на внешний интерфейс этого самого сервера. Eth2 смотрит на ружу белым ип <ip*>, eth0 - внутрь.
Попытки: делал так

*nat
:PREROUTING ACCEPT [36685:3205123]
:POSTROUTING ACCEPT [4160:505007]
:OUTPUT ACCEPT [6000:615407]
-A PREROUTING -i eth2 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.3:22 
-A POSTROUTING -o eth2 -p tcp -j MASQUERADE 
COMMIT
# Completed on Wed Mar 16 18:47:17 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 18:47:17 2011
*mangle
:PREROUTING ACCEPT [138897:11091807]
:INPUT ACCEPT [138267:11001547]
:FORWARD ACCEPT [20:1200]
:OUTPUT ACCEPT [129081:130904837]
:POSTROUTING ACCEPT [130029:131040445]
COMMIT
# Completed on Wed Mar 16 18:47:17 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 18:47:17 2011
*filter
:INPUT ACCEPT [138267:11001547]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [129081:130904837]
-A FORWARD -d 192.168.1.3/32 -i eth2 -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT 
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 
COMMIT


и так:
*nat
:PREROUTING ACCEPT [152098:13242528]
:POSTROUTING ACCEPT [5221:626103]
:OUTPUT ACCEPT [18817:1787955]
-A PREROUTING -d <ip*>/32 -i eth2 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.3:22 
-A POSTROUTING -o eth2 -p icmp -j SNAT --to-source <ip*> 
-A POSTROUTING -o eth2 -p udp -j SNAT --to-source <ip*> 
-A POSTROUTING -o eth2 -p tcp -j SNAT --to-source <ip*> 
COMMIT
# Completed on Wed Mar 16 19:22:30 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 19:22:30 2011
*mangle
:PREROUTING ACCEPT [865996:60775371]
:INPUT ACCEPT [863496:60415359]
:FORWARD ACCEPT [55:3300]
:OUTPUT ACCEPT [1270246:1674306307]
:POSTROUTING ACCEPT [1274026:1674848992]
COMMIT
# Completed on Wed Mar 16 19:22:30 2011
# Generated by iptables-save v1.4.3.2 on Wed Mar 16 19:22:30 2011
*filter
:INPUT ACCEPT [863496:60415359]
:FORWARD ACCEPT [5:300]
:OUTPUT ACCEPT [1270246:1674306307]
-A FORWARD -d 192.168.1.3/32 -i eth2 -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT 
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 
COMMIT

но эффекта не было. Хотя, было заметно, что некоторые пакеты прорываются, ответа от ссх сервера не было. ЧЯДНТ?

Deleted

Для пробрасывания порта с 10000 одного сервера на порт 22 другого сервера:

iptables -t nat -I PREROUTING -s 0/0 -p tcp --dport 10000 -j DNAT --to-destination 192.168.1.3:22


при этом считаем, что указано:
iptables -t nat -I POSTROUTING - 192.168.1.0/24 -j MASQUERADE

и политика по умолчанию везде ACCEPT и ничего не банится.

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

спасибо, Ваш вариант сработал.

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