LINUX.ORG.RU
ФорумAdmin

Iptables проброс порта в локалку с определенного ip

 


0

1

Добрый день имеем следующие работающие правила (пробрасываем из интернета порт с любого адреса на комп локальной сети)

 
iptables -A FORWARD -i ppp0 -o eth0 -p tcp --syn --dport 4000 -m conntrack --ctstate NEW -j ACCEPT 
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4000 -j DNAT --to-destination 192.168.*.*:4000 
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 4000 -d 192.168.*.* -j SNAT --to-source 192.168.*.* 

Необходимо модифицировать правило таким образом чтобы трафик пробрасывался в локалку только с двух белых ip
насколько я понимая нужно сделать так 
iptables -A FORWARD -s ip1 -i ppp0 -o eth0 -p tcp --syn --dport 4000 -m conntrack --ctstate NEW -j ACCEPT 
iptables -A FORWARD -s ip2 -i ppp0 -o eth0 -p tcp --syn --dport 4000 -m conntrack --ctstate NEW -j ACCEPT 
 
где ip1 и ip2 нужные ип адреса ? 

Проброс порта делается в цепочке PREROUTING

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4000 -s <IP1> -j DNAT --to-destination 192.168.*.*:4000
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4000 -s <IP2> -j DNAT --to-destination 192.168.*.*:4000

Ну и разрешение прохождения пакетов на определённый порт в цепочке FORWARD, если оно требуется тоже нужно сделать.

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

может вопрос покажется глупым но все же, а почему не не фильтровать трафик на цепочке форвард (пропустим только два нужных нам ip)? дальше насколько я понимаю все отработает без изменений. Имею ввиду то чтобы вообще через forward шел трафик снаружи только с двух нужных ip

drac753 ★★ ()
Последнее исправление: drac753 (всего исправлений: 1)
Ответ на: комментарий от drac753

В твоём примере ты в начале пробрасываешь трафик со всех IP на нужный порт, а потом фильтруешь, разрешая прохождение трафика только с нужных IP.

А я предлагаю сразу пробрасывать трафик только с нужных тебе IP на нужный порт.

Как делать решай сам.

anonymous ()