LINUX.ORG.RU
ФорумAdmin

[NAT] Помогите настроить iptables

 


0

0

Машина, на ней две сетевые карты: eth0 смотрит в локальную сеть, eth1 в инет. IP-адрес у машины постоянный. Сейчас все машины выходят в инет (http) через прокси (squid). Мне надо разрешить некоторым машинам (допустим 192.168.0.6 и 192.168.0.5) обращаться к некоторым портам напрямую (пусть это будут, к примеру, ssh, 3306 и 1024). Помогите написать правило. Сейчас изучаю "Iptables Tutorial", но чувствую, что не успеваю вовремя запустить банк-клиента.


iptables -t nat -A POSTROUTING -i eth0 -s $IP_eth0 -p tcp -m multiport --dports 21,3306,1024 -j SNAT --to-source $IP_eth1

что то типа этого, только с синтаксисом траблы могут быть, давно не писал правила.... Суть такая, что запросы на порты 21,3306,1024 с $IP_eth0 будут уходить на прямую в инет. Такое правило добавляешь для каждого $IP_eth0, или можно сразу подсетями выпускать...

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

Он ругается на ключик -i вместе с POSTROUTING.
Получилось такое правило (им я хочу разрешить машине с внутренним IP 192.168.0.22 подключаться к портам 22,3306 и 1024 внешних машин, а 87.103.134.45 это внешний адрес моего внешнего интерфейса):
-A POSTROUTING -s 192.168.0.6 -p tcp -m multiport --dports 22,3306,1024 -j SNAT --to-source 87.103.134.45
Но оно не работает.

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

Ещё забыл сказать, что у меня DNS работает на другой машине (скорее всего проблема в этом).

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

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -s 192.168.0.22 -p tcp -m multiport --dports 22,3306,1024 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.22 -p tcp -m multiport --dports 22,3306,1024 -j SNAT --to-source 87.103.134.45

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

>echo "1" > /proc/sys/net/ipv4/ip_forward 

Правильней (элегантней) ИМХО:

$ sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
$ sudo sysctrl net.ipv4.ip_forward=1

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

да, все верно, ключ -i используется для PREROUTING, сдесь он не нужен.

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

В том варианте, что я написал, заработает =)))))))

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