iptables MASQUERADE
Модераторы: SLEDopit, Модераторы разделов
-
Antoni
- Сообщения: 18
iptables MASQUERADE
Сервер доступа к Интернет для внутренней локальной сети.
Две сетевые карты.
Чтобы дать пользователю работать через маскарад IP адресов:
iptables -t nat -A POSTROUTING -o eth0 -s 10.254.0.12 -j MASQUERADE
Вопрос. Пользователю открываются все порты. Как закрыть некоторые?
Две сетевые карты.
Чтобы дать пользователю работать через маскарад IP адресов:
iptables -t nat -A POSTROUTING -o eth0 -s 10.254.0.12 -j MASQUERADE
Вопрос. Пользователю открываются все порты. Как закрыть некоторые?
-
n2j2r
- Сообщения: 494
- Статус: najar
Re: iptables MASQUERADE
Код: Выделить всё
iptables -t nat -A POSTROUTING -o eth0 -p tcp -s 10.254.0.12 -j MASQUERADE --to-ports список портов-
vtur
- Сообщения: 29
- ОС: ALT Linux
Re: iptables MASQUERADE
может целесообразней сделать
iptables -P FORWARD DROP
iptables -A FORWARD -s 10.254.0.12 -p tcp -m multiport --destination-port 80,443,8080 -j ACCEPT
iptables -A FORWARD -d 10.254.0.12 -p tcp -m multiport --source-port 80,443,8080 -j ACCEPT
т.е. сначала запрещаем пользователю любую активность, а потом разрешаем использовать только опеределенные порты\службы
iptables -P FORWARD DROP
iptables -A FORWARD -s 10.254.0.12 -p tcp -m multiport --destination-port 80,443,8080 -j ACCEPT
iptables -A FORWARD -d 10.254.0.12 -p tcp -m multiport --source-port 80,443,8080 -j ACCEPT
т.е. сначала запрещаем пользователю любую активность, а потом разрешаем использовать только опеределенные порты\службы
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
а можно сделать как-то, чтобы запросы на определенные порты перенаправлялись на ту машину, которая за "маскарадингом"?
тобишь, обращались к "серверу", к примеру на 5000 порт, а это соединение сервер перенаправлял на определенный компьютер пользователя, который выходит в сеть через этот "сервер".
реально сделать? если да, то как?
тобишь, обращались к "серверу", к примеру на 5000 порт, а это соединение сервер перенаправлял на определенный компьютер пользователя, который выходит в сеть через этот "сервер".
реально сделать? если да, то как?
-
gordon01
- Сообщения: 216
Re: iptables MASQUERADE
-A PREROUTING -d ipмаршрутизатора -p tcp -m tcp --dport порт -j DNAT --to-destination ipкомпавлокалке
«Hello World!» 17 errors, 31 warnings
Mandriva Cooker
Mandriva Cooker
-
n2j2r
- Сообщения: 494
- Статус: najar
Re: iptables MASQUERADE
gordon01
-t nat не забыли?
-t nat не забыли?
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
Код: Выделить всё
debian:~# iptables -t nat -A POSTROUTING -d 10.10.10.10 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 172.16.0.10
iptables: Invalid argumentоднако
и заодно, а как 1024-5000 сразу 1 командой перекинуть, как писать?
-
n2j2r
- Сообщения: 494
- Статус: najar
Re: iptables MASQUERADE
user
Код: Выделить всё
-m multiport --dport 1024:5000-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
Гм.

Код: Выделить всё
debian:~# iptables -t nat -A POSTROUTING -d х.х.х.х -p tcp -m multiport --dport 1024:5000 -j DNAT --to-destination 172.16.0.10
iptables v1.2.11: invalid port/service `1024:5000' specified
Try `iptables -h' or 'iptables --help' for more information.
debian:~#-
n2j2r
- Сообщения: 494
- Статус: najar
Re: iptables MASQUERADE
user
вы бы почитали про iptables что нибудь...
Цепочку postrouting транзитный пакет проходит последней. Крайне неумно пытаться сделать фильтрацию по портам в этом месте. Думаю, что по портам нужно отсеивать тогда, когда пакет приходит на интерфейс (цепочка INPUT) и тем более, что критерий -m multiport ни в какой другой цепочке(кроме INPUT) работать не будет!
вы бы почитали про iptables что нибудь...
Цепочку postrouting транзитный пакет проходит последней. Крайне неумно пытаться сделать фильтрацию по портам в этом месте. Думаю, что по портам нужно отсеивать тогда, когда пакет приходит на интерфейс (цепочка INPUT) и тем более, что критерий -m multiport ни в какой другой цепочке(кроме INPUT) работать не будет!
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
во-первых вопрос был про переброс порта, а не про фильтрацию.
а во-вторых, как вышло, нужно было писать:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх --dport 5000 -j DNAT --to-destination 172.16.0.10:5000
так - 1 порт работает, но надо не 1 перекинуть, а те, что писал выше.
а в-третьих, я linux первую неделю пока тока юзаю, так что просьба громко не кричать :D
а во-вторых, как вышло, нужно было писать:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх --dport 5000 -j DNAT --to-destination 172.16.0.10:5000
так - 1 порт работает, но надо не 1 перекинуть, а те, что писал выше.
а в-третьих, я linux первую неделю пока тока юзаю, так что просьба громко не кричать :D
-
n2j2r
- Сообщения: 494
- Статус: najar
Re: iptables MASQUERADE
user
так что ли попробуйте....
так мы пытаемся разрешить форвардинг пакетов на вышеозначенные порты. остальным - дроп.
далее выжившие пакеты попадают в цепочку POSTROUTING.
p.s не забудьте включить форвардинг...
так что ли попробуйте....
Код: Выделить всё
iptables -P DROP
iptables -A FORWARD -p tcp -m multiport --ports 1024:5000 -j ACCEPT
iptables -t nat -A POSTROUTING -d 10.10.10.10 -p tcp -j DNAT --to-destination 172.16.0.10так мы пытаемся разрешить форвардинг пакетов на вышеозначенные порты. остальным - дроп.
далее выжившие пакеты попадают в цепочку POSTROUTING.
p.s не забудьте включить форвардинг...
-
TuLiss
- Сообщения: 1611
- Статус: 01100
- ОС: Gentoo,Ubuntu,MacOS X
Re: iptables MASQUERADE
я бы вообще в поиск отправил. Так как неоднократно это обсуждалось на опеннет почитать по Iptables.
Если влом некогда или тд. Ставьте графический клиент
Если влом некогда или тд. Ставьте графический клиент
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
-
Pavel Ghost
- Сообщения: 13
- ОС: openSUSE 10.2
Re: iptables MASQUERADE
user писал(а): ↑07.01.2007 04:50во-первых вопрос был про переброс порта, а не про фильтрацию.
а во-вторых, как вышло, нужно было писать:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх --dport 5000 -j DNAT --to-destination 172.16.0.10:5000
так - 1 порт работает, но надо не 1 перекинуть, а те, что писал выше.
а в-третьих, я linux первую неделю пока тока юзаю, так что просьба громко не кричать
Для множества портов:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх --dport 1024:5000 -j DNAT --to-destination 172.16.0.10
или если диапазон не непрерывный (перечень нескольких), то можно юзать -m multiport, который (для n2j2r) работает далеко не только в INPUT, просто писать нужно аккуратно:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх -m multiport --dports 1024,2222,33333,5000 -j DNAT --to-destination 172.16.0.10
т.е. в --to-destination порт не указываем и пакеты на IP:DPT уйдут на 172.16.0.10:DPT
у меня такой синтаксис работает на iptables v1.3.1 под RH,FC,SUSE, не думаю, что на чуть раньших версиях как-то было кардинально по-другому.
в качестве "графического пакета" для управления fw я видел как-то FWBuilder (http://www.fwbuilder.org), но руками у меня получается быстрее, дело привычки.
Удачи
Oracle DBA
GeneGO
GeneGO
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
Pavel Ghost писал(а): ↑13.01.2007 01:50Для множества портов:
iptables -t nat -A PREROUTING -p tcp -d хх.хх.хх.хх --dport 1024:5000 -j DNAT --to-destination 172.16.0.10
Спасибо, работает.
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
А можно сделать, чтобы VPN работало через маскарадинг? 619 ошибку выдает...
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
+ Как пробрость icmp на машину за натом (маскарадингом)?
Т.е., чтобы в трейсе, предпоследним хопом была linux-тачка, а последним - машина за натом?
И еще, как сделать, чтобы машина посылала Destination Host Unreachable или тому подобное?
И напоследок, как все вернуть по дефолту?
Т.е., чтобы в трейсе, предпоследним хопом была linux-тачка, а последним - машина за натом?
И еще, как сделать, чтобы машина посылала Destination Host Unreachable или тому подобное?
И напоследок, как все вернуть по дефолту?
-
Olden Gremlin
- Сообщения: 365
- Статус: RAP22-RIPE
- ОС: Debian GNU/Linux Wheezy
Re: iptables MASQUERADE
Если под обширным понятием VPN кроется более мелкое понятие PPTP то можно попробовать предварительно загрузить модуль ядра nf_nat_pptp (потянет за собой модули nf_conntrack_pptp и nf_conntrack_proto_gre) или, если ядро постарее, ip_nat_pptp.
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
А можно сделать работоспособным сетевое окружение через NAT? Т.е. как перебросить NetBIOS? В сетевом окружении и так отображаются машины, но при клике - не найден сетевой путь.
Как? И можно ли вообще?
Как? И можно ли вообще?
-
Olden Gremlin
- Сообщения: 365
- Статус: RAP22-RIPE
- ОС: Debian GNU/Linux Wheezy
Re: iptables MASQUERADE
подгрузить модель ядра ip_conntrack_netbios_ns (или nf_conntrack_netbios_ns) не пробовали?
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
чота я не нахожу таких модулей.
а разве не в сторону самбы надо копать? когда оно не запущено, даже имен компов не выводит.
а разве не в сторону самбы надо копать? когда оно не запущено, даже имен компов не выводит.
-
Olden Gremlin
- Сообщения: 365
- Статус: RAP22-RIPE
- ОС: Debian GNU/Linux Wheezy
Re: iptables MASQUERADE
мы разговариваем про маршрутизацию из сети в сеть или про нат из одной сети в другую?
имхо, в первом случаем копаем в сторону WINS, во втором - читаем выше...
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
Olden Gremlin писал(а): ↑14.05.2007 11:11мы разговариваем про маршрутизацию из сети в сеть или про нат из одной сети в другую?
имхо, в первом случаем копаем в сторону WINS, во втором - читаем выше...
я про то, чтобы с машины, соединенной с сервером кроссовером (через который выходим в сеть через маскарадинг) работало сетевое окружение, как будто комп включен напрямую. вот.
реально? или нет?
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
..... удалите этот пост. вопрос уже отпал )
-
Vector08
- Сообщения: 16
Re: iptables MASQUERADE
Доброго времени суток. Вопрос в следующем. Есть нат и iptables. Необходимо что бы все обращения например на 5000 порт переадресовывались в 50. А так же запретить всем пользователям локалки испоьзоватьвсе порты кроме определенных, но тут одно, пользователи из под сети 192.168.0.0 имеют доступ например к 80 и 110 порту, а пользователи 192.168.1.0 только к 80, все остальные никуда доступа не имеют.
Как я вижу решение вопроса (адрес сервера 192.168.0.1):
1. Необходимо что бы все обращения например на 5000 порт переадресовывались в 50
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 192.168.0.1:25
Верно ли это ?
2. так же запретить всем пользователям локалки испоьзоватьвсе порты кроме определенных, но тут одно, пользователи из под сети 192.168.0.0 имеют доступ например к 80 и 110 порту, а пользователи 192.168.1.0 только к 80, все остальные никуда доступа не имеют.
iptables -t nat -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp -m multiport --destination-port 80,110, -j ACCEPT
iptables -t nat -A FORWARD -d 192.168.0.0/255.255.255.0 -p tcp -m multiport --source-port 80,110 -j ACCEPT
Или я ошибаюсь, спасибо.
Как я вижу решение вопроса (адрес сервера 192.168.0.1):
1. Необходимо что бы все обращения например на 5000 порт переадресовывались в 50
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 192.168.0.1:25
Верно ли это ?
2. так же запретить всем пользователям локалки испоьзоватьвсе порты кроме определенных, но тут одно, пользователи из под сети 192.168.0.0 имеют доступ например к 80 и 110 порту, а пользователи 192.168.1.0 только к 80, все остальные никуда доступа не имеют.
iptables -t nat -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp -m multiport --destination-port 80,110, -j ACCEPT
iptables -t nat -A FORWARD -d 192.168.0.0/255.255.255.0 -p tcp -m multiport --source-port 80,110 -j ACCEPT
Или я ошибаюсь, спасибо.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: iptables MASQUERADE
Думаю, не мне одному кажется, что проверить самому будет быстрее.
-
homa
- Сообщения: 4
Re: iptables MASQUERADE
кстати если хочешь чтобы из локалки доступ на эту машину был по доменному имени(например шлюз на реальном айпи а веб сервер внутри локалки), то советую
iptables -t nat -A PREROUTING --dst $real_ip -p tcp --dport NomerPorta -j DNAT --to-destination localIP
iptables -t nat -A POSTROUTING -p tcp --dst localIP --dport NomerPorta -j SNAT --to-source localIPofGateway
мож пригодится))
Vector08 писал(а): ↑02.04.2008 14:10Доброго времени суток. Вопрос в следующем. Есть нат и iptables. Необходимо что бы все обращения например на 5000 порт переадресовывались в 50. А так же запретить всем пользователям локалки испоьзоватьвсе порты кроме определенных, но тут одно, пользователи из под сети 192.168.0.0 имеют доступ например к 80 и 110 порту, а пользователи 192.168.1.0 только к 80, все остальные никуда доступа не имеют.
Как я вижу решение вопроса (адрес сервера 192.168.0.1):
1. Необходимо что бы все обращения например на 5000 порт переадресовывались в 50
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 192.168.0.1:25
Верно ли это ?
2. так же запретить всем пользователям локалки испоьзоватьвсе порты кроме определенных, но тут одно, пользователи из под сети 192.168.0.0 имеют доступ например к 80 и 110 порту, а пользователи 192.168.1.0 только к 80, все остальные никуда доступа не имеют.
iptables -t nat -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp -m multiport --destination-port 80,110, -j ACCEPT
iptables -t nat -A FORWARD -d 192.168.0.0/255.255.255.0 -p tcp -m multiport --source-port 80,110 -j ACCEPT
Или я ошибаюсь, спасибо.
Думаю ошибаешься ДНАТ используется для подмені айпи.., попробуй подумать насчет REDIRECT
да и более подробно объясни откуда и к чему обращений порты менять
-
Vector08
- Сообщения: 16
Re: iptables MASQUERADE
Обьясняю в сети есть сервер с поднятым натом, необходимо что бы все коннекты в 25 порт были закрыты, в тоже время в почтовых клиентах как порт исходящей почты мы ставим например 5000, соответственно все запросы через нат на нашем сервере из 5000 заворачиваются в 25 и почта уходит, прямой запрос в 25 порт не проходит.
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: iptables MASQUERADE
Подскажите, а возможно ли, чтобы правило
работало внутри локальной машины?
Т.е. имеем eth0 с ипом 10.10.10.10, надо чтобы при коннекте на 443 порт с этой же машины соединяло с 10.10.10.10:6669
( 10.10.10.10 -> 10.10.10.10:443 => 10.10.10.10:6669 )
Это можно сделать?
Данное правило работает только "из вне", а внутри получаем connection refused...
Код: Выделить всё
iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 --dport 443 -j DNAT --to-destination 10.10.10.10:6669работало внутри локальной машины?
Т.е. имеем eth0 с ипом 10.10.10.10, надо чтобы при коннекте на 443 порт с этой же машины соединяло с 10.10.10.10:6669
( 10.10.10.10 -> 10.10.10.10:443 => 10.10.10.10:6669 )
Это можно сделать?
Данное правило работает только "из вне", а внутри получаем connection refused...
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус