форвардинг портов iptables

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

ColdFury
Сообщения: 6

форвардинг портов iptables

Сообщение ColdFury »

Доброго времени суток.
Собственно вопрос:
есть внешний интерфейс eth0 10.73.1.20
есть внутренний eth1 192.168.1.1
и нужно форварднуть порт, скажем, тцп\упд 13000.
Вопрос - как?
Маны читал, но не спасло меня ибо нуб пока. Гуглил конкретные примеры скриптов, не сработали)
По форуму тоже искал, даже нашел, но просто не понял как изменить под себя =\
// примеры такого вида:
-A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.1.1 -s 10.73.1.20 –dport 13000 -j ACCEPT
-A PREROUTING -i eth0 -p tcp –dport 13000 -d 10.73.1.20 -j DNAT –to-destination 192.168.1.1
но почти ничего из него не понял)
И еще, как например рендж портов профорвардить?
Заранее благодарю за помощь)
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: форвардинг портов iptables

Сообщение pelmen »

Надо еще, чтоб в /proc/sys/net/ipv4/ip_forward было 1, а не 0.
Надо еще, чтоб у компьютера 192.168.1.1 шлюзом по-умолчанию был этот комп, в противном случае еще надо делать snat.
range: ....... dport 13000:14000
http://www.opennet.ru/docs/RUS/iptables/
6.4.2.1. TCP критерии

Этот набор критериев зависит от типа протокола и работает только с TCP пакетами. Чтобы использовать их, вам потребуется в правилах указывать тип протокола --protocol tcp. Важно: критерий --protocol tcp обязательно должен стоять перед специфичным критерием. Эти расширения загружаются автоматически как для tcp протокола, так и для udp и icmp протоколов. (О неявной загрузке расширений я уже упоминал выше прим. перев.).

Таблица 6-5. TCP критерииКритерий --sport, --source-port
Пример iptables -A INPUT -p tcp --sport 22
Описание Исходный порт, с которого был отправлен пакет. В качестве параметра может указываться номер порта или название сетевой службы. Соответствие имен сервисов и номеров портов вы сможете найти в файле /etc/services. При указании номеров портов правила отрабатывают несколько быстрее. однако это менее удобно при разборе листингов скриптов. Если же вы собираетесь создавать значительные по объему наборы правил, скажем порядка нескольких сотен и более, то тут предпочтительнее использовать номера портов. Номера портов могут задаваться в виде интервала из минимального и максимального номеров, например --source-port 22:80. Если опускается минимальный порт, т.е. когда критерий записывается как --source-port :80, то в качестве начала диапазона принимается число 0. Если опускается максимальный порт, т.е. когда критерий записывается как --source-port 22:, то в качестве конца диапазона принимается число 65535. Допускается такая запись --source-port 80:22, в этом случае iptables поменяет числа 22 и 80 местами, т.е. подобного рода запись будет преобразована в --source-port 22:80. Как и раньше, символ ! используется для инверсии. Так критерий --source-port ! 22 подразумевает любой порт, кроме 22. Инверсия может применяться и к диапазону портов, например --source-port ! 22:80. За дополнительной информацией обращайтесь к описанию критерия multiport.
Критерий --dport, --destination-port
Пример iptables -A INPUT -p tcp --dport 22
Описание Порт или диапазон портов, на который адресован пакет. Аргументы задаются в том же формате, что и для --source-port.

По UDP тоже самое
Спасибо сказали:
Аватара пользователя
Dummy!
Сообщения: 29

Re: форвардинг портов iptables

Сообщение Dummy! »

да...делать надо через iptables -t nat SNAT
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: форвардинг портов iptables

Сообщение pelmen »

Если линукс - шлюз по-умолчанию для этой тачки, то снат не нужен
Спасибо сказали: