Доброго времени суток!
У меня проблема следующего плана. В локальной сетке требуется запустить клиентскую часть программы требующую доступ к инету по портам 14000 и 14003 через NAT (так написано в описании прораммы) Пробовал реализовать доступ следующим образом:
[11:528] -A POSTROUTING -s 192.168.0.3 -p TCP -o ppp0 -j SNAT --to-source x.x.x.x:14000
[11:528] -A POSTROUTING -s 192.168.0.3 -p TCP -o ppp0 -j SNAT --to-source x.x.x.x:14003
но положительного результата это не принесло..
Подскажите где ошибка и предложите свой вариант решения проблеммы
Открытие порта в Iptables
Модератор: Bizdelnick
-
stannum
- Сообщения: 322
- Статус: Свободолюбитель
- ОС: Debian GNU/Linux unstable
Re: Открытие порта в Iptables
oboltus писал(а): ↑28.09.2006 16:28Доброго времени суток!
У меня проблема следующего плана. В локальной сетке требуется запустить клиентскую часть программы требующую доступ к инету по портам 14000 и 14003 через NAT (так написано в описании прораммы) Пробовал реализовать доступ следующим образом:
[11:528] -A POSTROUTING -s 192.168.0.3 -p TCP -o ppp0 -j SNAT --to-source x.x.x.x:14000
[11:528] -A POSTROUTING -s 192.168.0.3 -p TCP -o ppp0 -j SNAT --to-source x.x.x.x:14003
но положительного результата это не принесло..
Подскажите где ошибка и предложите свой вариант решения проблеммы
если запускать надо с компа, который яв-ся гейтом, то надо:
#iptables -A OUTPUT -o ppp0 -p tcp --dport 14000
#iptables -A OUTPUT -o ppp0 -p tcp --dport 14003
если сдругого компа в сети:
#iptables -A FORWARD -s192.168.0.х -o ppp0 -p tcp --dport 14000
#iptables -A FORWARD -s192.168.0.х -o ppp0 -p tcp --dport 14003
кроме того, должет быть включен ip форвардинг:
#echo "1" > /proc/sys/net/ipv4/ip_forward или в /etc/sysctl.conf надо заиметь строку net.ipv4.conf.default.forwarding=1
и должен быть включен NAT:
#iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source <external-ip-addr>
-
oboltus
- Сообщения: 3
Re: Открытие порта в Iptables
мне нужно реализовать так что бы комп из локальной сети мог выйти через нат только по этим портам и только из определенной программы, а в инет ходил только через прокси в предложенном вами варианте он сможет ломиться через нат куда угодно.. ИМХО
-
rolano
- Сообщения: 845
- Статус: еще один юзер FreeBSD
- ОС: какая-то
Re: Открытие порта в Iptables
Ну пропишите destination. По поводу "только из определенной программы" - каким образом будете следить за клиентом? Или Вы настраиваете машину, которая будет работать как сервер терминалов?
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
-
oboltus
- Сообщения: 3
Re: Открытие порта в Iptables
пробовал прописать
#iptables -t nat -A POSTROUTING -p TCP --dport 14000 -o ppp0 -j SNAT --to-source <external-ip-addr>
выдает что --dport - недопустимый аргумент пробовал --destination-port таже фигня
#iptables -t nat -A POSTROUTING -p TCP --dport 14000 -o ppp0 -j SNAT --to-source <external-ip-addr>
выдает что --dport - недопустимый аргумент пробовал --destination-port таже фигня
-
_jack_
- Сообщения: 3
Re: Открытие порта в Iptables
попробуйте #iptables -t nat -A POSTROUTING -s 192.168.xxx.xxx -p TCP --dport 14000 -o ppp0 -j SNAT --to-source <external-ip-addr>
-
stannum
- Сообщения: 322
- Статус: Свободолюбитель
- ОС: Debian GNU/Linux unstable
Re: Открытие порта в Iptables
аргумент --dport не применим к таблице POSTROUTING
С чего ты взял что "может ломится через NAT куда угодно", ты ж его фильтруешь уже в таблице FORWARD:
#iptables -A FORWARD -s192.168.0.х -o ppp0 -p tcp --dport 14000
#iptables -A FORWARD -s192.168.0.х -o ppp0 -p tcp --dport 14003
Данный IP-шник будет иметь доступ только к указанным внешним(интернетовским) портам, а если надо чтоб на конкретный хост в нете, тогда destination, как уже сказали
Надо только политику по умолчанию сделать DROP:
#iptables -P FORWARD DROP
Тогда, все что не разрешено - то запрещено, а вообще надо бы тебе взглянуть на мануал IPTABLES
А сделать, чтобы "только из определенной программы" - насколько я знаю, не сможешь - это надо делать уже на той машине, которая хочет лезть в инет.