Открытие порта в Iptables

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

oboltus
Сообщения: 3

Открытие порта в Iptables

Сообщение oboltus »

Доброго времени суток!
У меня проблема следующего плана. В локальной сетке требуется запустить клиентскую часть программы требующую доступ к инету по портам 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
но положительного результата это не принесло..
Подскажите где ошибка и предложите свой вариант решения проблеммы
Спасибо сказали:
Аватара пользователя
stannum
Сообщения: 322
Статус: Свободолюбитель
ОС: Debian GNU/Linux unstable

Re: Открытие порта в Iptables

Сообщение stannum »

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

Сообщение oboltus »

мне нужно реализовать так что бы комп из локальной сети мог выйти через нат только по этим портам и только из определенной программы, а в инет ходил только через прокси в предложенном вами варианте он сможет ломиться через нат куда угодно.. ИМХО
Спасибо сказали:
Аватара пользователя
rolano
Сообщения: 845
Статус: еще один юзер FreeBSD
ОС: какая-то

Re: Открытие порта в Iptables

Сообщение rolano »

Ну пропишите destination. По поводу "только из определенной программы" - каким образом будете следить за клиентом? Или Вы настраиваете машину, которая будет работать как сервер терминалов?
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
Спасибо сказали:
oboltus
Сообщения: 3

Re: Открытие порта в Iptables

Сообщение oboltus »

пробовал прописать
#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

Сообщение _jack_ »

oboltus писал(а):
28.09.2006 17:12
пробовал прописать
#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 -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

Сообщение stannum »

_jack_ писал(а):
29.09.2006 06:57
oboltus писал(а):
28.09.2006 17:12

пробовал прописать
#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 -s 192.168.xxx.xxx -p TCP --dport 14000 -o ppp0 -j SNAT --to-source <external-ip-addr>

аргумент --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


А сделать, чтобы "только из определенной программы" - насколько я знаю, не сможешь - это надо делать уже на той машине, которая хочет лезть в инет.
Спасибо сказали: