порт мапинг
Модераторы: SLEDopit, Модераторы разделов
-
Maksim Kolenko
- Сообщения: 94
- ОС: ubuntu
порт мапинг
Делаю порт мапинг. Но не получается достучаться из Интернета до локального адреса, пинг не доходит.
Задаю такое правило:
iptables -t nat -A PREROUTING -d 217.195.83.89 -j DNAT --to-destination 192.168.4.2
iptables -A FORWARD -d 217.195.83.89 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT #просто для полной уверенности
Таблица маршрутизации обычная:
# netstat -rn
Destination Gateway Genmask Flags MSS Window irtt Iface
217.195.83.64 0.0.0.0 255.255.255.224 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 217.195.83.65 0.0.0.0 UG 0 0 0 eth1
Пожалуйста, подскажите что же не так???
Задаю такое правило:
iptables -t nat -A PREROUTING -d 217.195.83.89 -j DNAT --to-destination 192.168.4.2
iptables -A FORWARD -d 217.195.83.89 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT #просто для полной уверенности
Таблица маршрутизации обычная:
# netstat -rn
Destination Gateway Genmask Flags MSS Window irtt Iface
217.195.83.64 0.0.0.0 255.255.255.224 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 217.195.83.65 0.0.0.0 UG 0 0 0 eth1
Пожалуйста, подскажите что же не так???
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: порт мапинг
echo '1'>/proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -t nat -A PREROUTING -p icmp -m icmp -d 217.195.83.89 --icmp-type echo-request -j DNAT --to-destination 192.168.4.2
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 217.195.83.89
если у машины 192.168.4.2 шлюз по умолчанию - твой лин. серв (наверное 192.168.4.1), и если сетевой интерфейс, смотрящий в интернет - eth0, тогда все должно работать.
iptables -P FORWARD ACCEPT
iptables -t nat -A PREROUTING -p icmp -m icmp -d 217.195.83.89 --icmp-type echo-request -j DNAT --to-destination 192.168.4.2
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 217.195.83.89
если у машины 192.168.4.2 шлюз по умолчанию - твой лин. серв (наверное 192.168.4.1), и если сетевой интерфейс, смотрящий в интернет - eth0, тогда все должно работать.
-
Maksim Kolenko
- Сообщения: 94
- ОС: ubuntu
Re: порт мапинг
Всё равно не работает.
У меня следующая ситуация:
внешний адрес компьютера, на котором делаю NAT - 217.195.83.93
внешний интерфейс - eth1
Задаю все правила так, как вы написали, но с учётом того, что
нужно пробрасывать пакеты с адреса 217.195.83.89 на 192.168.4.2
Не вдаваясь в подробности, скажу что все пакеты, адресуемые для 217.195.83.89 (а вернее сказать для диапазона 217.195.83.64/27), физически доступны упомянутому интерфейсу eth1.
Таким образом, я задаю:
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.4.2 -j SNAT --to-source 217.195.83.89
# NAT для всех остальных адресов:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 217.195.83.93
У меня следующая ситуация:
внешний адрес компьютера, на котором делаю NAT - 217.195.83.93
внешний интерфейс - eth1
Задаю все правила так, как вы написали, но с учётом того, что
нужно пробрасывать пакеты с адреса 217.195.83.89 на 192.168.4.2
Не вдаваясь в подробности, скажу что все пакеты, адресуемые для 217.195.83.89 (а вернее сказать для диапазона 217.195.83.64/27), физически доступны упомянутому интерфейсу eth1.
Таким образом, я задаю:
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.4.2 -j SNAT --to-source 217.195.83.89
# NAT для всех остальных адресов:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 217.195.83.93
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
Попробуйте NETMAP
Что-то вида:
iptables -t nat -A PREROUTING -d 217.195.83.89 -j NETMAP --to-destination 192.168.4.2
Что-то вида:
iptables -t nat -A PREROUTING -d 217.195.83.89 -j NETMAP --to-destination 192.168.4.2
-
Maksim Kolenko
- Сообщения: 94
- ОС: ubuntu
Re: порт мапинг
И так тоже не работает...
Я так понял, что с NETMAP нужно писать не --to-destination, а просто --to
Я так понял, что с NETMAP нужно писать не --to-destination, а просто --to
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
Ага.. вместо to-destiantion просто to
По идее должен срабатывать и первоначальный вариант с DNAT+SNAT.
В первоначальном варианте, адрес 217.195.83.89 прописывали на интерфейсе eth1 как алиас?
PS:
Ну и как "бредовый" вариант:
между шлюзом и внутренней машиной поднять pppoe
на шлюзе в настрйках ppp указать опцию proxy-arp
По идее должен срабатывать и первоначальный вариант с DNAT+SNAT.
В первоначальном варианте, адрес 217.195.83.89 прописывали на интерфейсе eth1 как алиас?
PS:
Ну и как "бредовый" вариант:
между шлюзом и внутренней машиной поднять pppoe
на шлюзе в настрйках ppp указать опцию proxy-arp
-
Maksim Kolenko
- Сообщения: 94
- ОС: ubuntu
Re: порт мапинг
Нет, алиас не прописывал. Вообще-то, на этом внешнем интерфейсе прописан алиас, но другой и для других целей. В правилах iptables он не фигурирует и, я думаю, он совсем не мешает в решении данной задачи.
Вариант с PPPoE пока не рассматриваю, ведь можно же сделать правильно.
А как можно диагностировать (мониторить) что происходит? Я пинговал из Интернета адрес 217.195.83.89 и одновременно пробовал слушать внутренний интерфейс шлюза eth0 на предмет появления пакетов для 192.168.4.2, с помощью такой команды:
tcpdump -i eth0 host 192.168.4.2
но ничего не появлялось.
Как ещё можно посмотреть что происходит с пакетами для 217.195.83.89, когда они приходят ко мне?
Вариант с PPPoE пока не рассматриваю, ведь можно же сделать правильно.
А как можно диагностировать (мониторить) что происходит? Я пинговал из Интернета адрес 217.195.83.89 и одновременно пробовал слушать внутренний интерфейс шлюза eth0 на предмет появления пакетов для 192.168.4.2, с помощью такой команды:
tcpdump -i eth0 host 192.168.4.2
но ничего не появлялось.
Как ещё можно посмотреть что происходит с пакетами для 217.195.83.89, когда они приходят ко мне?
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
Ну так пропишите алиас на eth1...
-
Maksim Kolenko
- Сообщения: 94
- ОС: ubuntu
Re: порт мапинг
РАБОТАЕТ!!!
После того, как был прописан алиас пинги пошли! Причём если у компьютера 192.168.4.2 отсоединить сетевой шнур, то пинги прекращаются - всё правильно.
Правила стоят те, о которых я написал выше.
Но в чём же было дело? Я так понимаю, что ошибки в маршрутизации не было. Ведь зачем же делать алиас, если мы и так уже написали в правилах, что адрес исходящего от нас пакета транслируется в 217.195.83.89:
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.4.2 -j SNAT --to-source 217.195.83.89
Хотелось бы понять этот момент. Но главное РАБОТАЕТ! УРА! Спасибо вам всем!
После того, как был прописан алиас пинги пошли! Причём если у компьютера 192.168.4.2 отсоединить сетевой шнур, то пинги прекращаются - всё правильно.
Правила стоят те, о которых я написал выше.
Но в чём же было дело? Я так понимаю, что ошибки в маршрутизации не было. Ведь зачем же делать алиас, если мы и так уже написали в правилах, что адрес исходящего от нас пакета транслируется в 217.195.83.89:
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.4.2 -j SNAT --to-source 217.195.83.89
Хотелось бы понять этот момент. Но главное РАБОТАЕТ! УРА! Спасибо вам всем!
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
ИМХО
iptables(netfilter) NAT работает только с "локальными интерфейсами" и NAT заработает только если адрес присвоен какому-либо интерфейсу
NAT "на лету" (без алиасов) вроде как должен уметь iproute2
http://linux-ip.net/html/nat-stateless.html
Но там вроде как есть свои "тараканы" при этом.
iptables(netfilter) NAT работает только с "локальными интерфейсами" и NAT заработает только если адрес присвоен какому-либо интерфейсу
NAT "на лету" (без алиасов) вроде как должен уметь iproute2
http://linux-ip.net/html/nat-stateless.html
Но там вроде как есть свои "тараканы" при этом.
-
panas
- Сообщения: 24
- ОС: xubuntu 11.10
Re: порт мапинг
у меня та же беда...
не получается пробросить порты с внешнего интерфейса на адрес внутри сети... пробовал и с помощью iptables сделать и с помощью simpleproxy... причем simpleproxy по внутреннему интерфейсу редирект делает, но по внешнему никак...
я новичек еще в этих делах, уточните плз, что имелось ввиду под алиасами, и как надо его прописать на eth1?...
не получается пробросить порты с внешнего интерфейса на адрес внутри сети... пробовал и с помощью iptables сделать и с помощью simpleproxy... причем simpleproxy по внутреннему интерфейсу редирект делает, но по внешнему никак...
я новичек еще в этих делах, уточните плз, что имелось ввиду под алиасами, и как надо его прописать на eth1?...
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
ifconfig eth1 a.a.a.a - это первый адрес на интерфейсе eth1
ifconfig eth1:0 b.b.b.b - это второй адрес
ifconfig eth1:1 c.c.c.c - это третий адрес
и т.д.
http://www.intercom.kharkov.ua/faq/linux/d...TO-6.html#ss6.5
ifconfig eth1:0 b.b.b.b - это второй адрес
ifconfig eth1:1 c.c.c.c - это третий адрес
и т.д.
http://www.intercom.kharkov.ua/faq/linux/d...TO-6.html#ss6.5
-
panas
- Сообщения: 24
- ОС: xubuntu 11.10
Re: порт мапинг
т.е. если у меня внутренний eth0=192.168.0.81, а внешний eth1=192.168.1.2, то что бы сработало
iptables -t nat -A PREROUTING -d 192.168.1.2 -j DNAT --to-destination 192.168.0.100
я должен eth1 назначить дополнительный адрес внутренний сети? и делать проброс c него?
ifconfig eth1:0 192.168.0.101
iptables -t nat -A PREROUTING -d 192.168.0.101 -j DNAT --to-destination 192.168.0.100
iptables -t nat -A PREROUTING -d 192.168.1.2 -j DNAT --to-destination 192.168.0.100
я должен eth1 назначить дополнительный адрес внутренний сети? и делать проброс c него?
ifconfig eth1:0 192.168.0.101
iptables -t nat -A PREROUTING -d 192.168.0.101 -j DNAT --to-destination 192.168.0.100
-
panas
- Сообщения: 24
- ОС: xubuntu 11.10
Re: порт мапинг
не помогли алиасы 
eth1 Link encap:Ethernet HWaddr 00:80:48:40:FA:CB
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::280:48ff:fe40:facb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46612 errors:0 dropped:0 overruns:0 frame:0
TX packets:46610 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8322515 (7.9 MiB) TX bytes:4048232 (3.8 MiB)
Interrupt:193 Base address:0x9400
eth1:0 Link encap:Ethernet HWaddr 00:80:48:40:FA:CB
inet addr:192.168.0.82 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:193 Base address:0x9400
может кто подскажет что не так? для проброса делаю:
INET_IP="192.168.1.2"
INET_IFACE="eth1"
INET_BROADCAST="192.168.1.255"
LAN_IP="192.168.0.81"
LAN_IP_RANGE="192.168.0.0/24"
LAN_IFACE="eth0"
LO_IFACE="lo"
LO_IP="127.0.0.1"
TRM_IP="192.168.0.100"
IP_ADR="192.168.1.132"
$IPTABLES -t nat -A PREROUTING -d $INET_IP -s $IP_ADR -p tcp -m tcp --dport 3389 -j DNAT --to-destination $TRM_IP:3389
$IPTABLES -t nat -A POSTROUTING -d $TRM_IP -p tcp -m tcp --dport 3389 -j SNAT --to-source $INET_IP
$IPTABLES -A FORWARD -d $TRM_IP -p tcp -m tcp --dport 3389 -m state --state NEW -j ACCEPT
команда tcpdump -np -i any port 3389 выводит следующее:
12:43:10.458027 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:10.458080 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:10.458388 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
12:43:13.288056 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:13.288095 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:13.288225 IP 192.168.0.100.3389 > 192.168.1.2.2657: . ack 1 win 17520
12:43:13.323929 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
12:43:19.322714 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:19.322755 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:19.322894 IP 192.168.0.100.3389 > 192.168.1.2.2657: . ack 1 win 17520
12:43:19.339178 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
eth1 Link encap:Ethernet HWaddr 00:80:48:40:FA:CB
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::280:48ff:fe40:facb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46612 errors:0 dropped:0 overruns:0 frame:0
TX packets:46610 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8322515 (7.9 MiB) TX bytes:4048232 (3.8 MiB)
Interrupt:193 Base address:0x9400
eth1:0 Link encap:Ethernet HWaddr 00:80:48:40:FA:CB
inet addr:192.168.0.82 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:193 Base address:0x9400
может кто подскажет что не так? для проброса делаю:
INET_IP="192.168.1.2"
INET_IFACE="eth1"
INET_BROADCAST="192.168.1.255"
LAN_IP="192.168.0.81"
LAN_IP_RANGE="192.168.0.0/24"
LAN_IFACE="eth0"
LO_IFACE="lo"
LO_IP="127.0.0.1"
TRM_IP="192.168.0.100"
IP_ADR="192.168.1.132"
$IPTABLES -t nat -A PREROUTING -d $INET_IP -s $IP_ADR -p tcp -m tcp --dport 3389 -j DNAT --to-destination $TRM_IP:3389
$IPTABLES -t nat -A POSTROUTING -d $TRM_IP -p tcp -m tcp --dport 3389 -j SNAT --to-source $INET_IP
$IPTABLES -A FORWARD -d $TRM_IP -p tcp -m tcp --dport 3389 -m state --state NEW -j ACCEPT
команда tcpdump -np -i any port 3389 выводит следующее:
12:43:10.458027 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:10.458080 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:10.458388 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
12:43:13.288056 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:13.288095 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:13.288225 IP 192.168.0.100.3389 > 192.168.1.2.2657: . ack 1 win 17520
12:43:13.323929 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
12:43:19.322714 IP 192.168.1.132.2657 > 192.168.1.2.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:19.322755 IP 192.168.1.2.2657 > 192.168.0.100.3389: S 2742310569:2742310569(0) win 8760 <mss 1460>
12:43:19.322894 IP 192.168.0.100.3389 > 192.168.1.2.2657: . ack 1 win 17520
12:43:19.339178 IP 192.168.0.100.3389 > 192.168.1.2.2657: S 93396686:93396686(0) ack 2742310570 win 17520 <mss 1460>
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
В Вашем случае они и не нужны...
Не понял смысла второго правила...$IPTABLES -t nat -A PREROUTING -d $INET_IP -s $IP_ADR -p tcp -m tcp --dport 3389 -j DNAT --to-destination $TRM_IP:3389
$IPTABLES -t nat -A POSTROUTING -d $TRM_IP -p tcp -m tcp --dport 3389 -j SNAT --to-source $INET_IP
$IPTABLES -A FORWARD -d $TRM_IP -p tcp -m tcp --dport 3389 -m state --state NEW -j ACCEPT
Вам не надо делать SNAT, если для 192.168.0.100 "шлюзом по умолчанию" является 192.168.0.81
Без второго правила попробуйте
И в FORWARD попробуйте попроще правила... что-то типа
$IPTABLES -A FORWARD -d $TRM_IP -p tcp -m tcp --dport 3389 -j ACCEPT
$IPTABLES -A FORWARD -s $TRM_IP -p tcp -m tcp --sport 3389 -j ACCEPT
А то оно будет срабатывать только на пакеты которые создают соединение, но не для тех пакетов которые потом будут бегать по этому соединению (если только у Вас дальше в правилах нет обработки уже установленных соединений).
-
panas
- Сообщения: 24
- ОС: xubuntu 11.10
Re: порт мапинг
убрал из POSTROUTING правило, на терминальном сервере шлюз по умолчанию стоит этот роутер, и в FORWARD подправил правила, но безрезультатно 
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: . ack 1 win 17520
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: . ack 1 win 17520
соединение не происходит..
router:/etc/init.d# iptables-save
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*mangle
:PREROUTING ACCEPT [178693:39877338]
:INPUT ACCEPT [173711:38374106]
:FORWARD ACCEPT [4642:1418386]
:OUTPUT ACCEPT [154974:27914303]
:POSTROUTING ACCEPT [158996:29298528]
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*nat
:PREROUTING ACCEPT [4239:539428]
:POSTROUTING ACCEPT [70:8919]
:OUTPUT ACCEPT [609:42509]
-A PREROUTING -d 192.168.1.2 -p tcp -m tcp --sport 1024:65535 --dport 3389 -j DNAT --to-destination 192.168.0.100
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.2
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*filter
:INPUT DROP [8:576]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.0.81 -i lo -j ACCEPT
-A INPUT -s 192.168.1.2 -i lo -j ACCEPT
-A INPUT -d 192.168.1.2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A INPUT -d 224.0.0.0/255.0.0.0 -i eth1 -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -d 192.168.0.100 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.100 -p tcp -m tcp --sport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.0.81 -j ACCEPT
-A OUTPUT -s 192.168.1.2 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A udp_packets -p udp -m udp --dport 123 -j ACCEPT
-A udp_packets -d 192.168.1.255 -i eth1 -p udp -m udp --dport 135:139 -j DROP
-A udp_packets -d 255.255.255.255 -i eth1 -p udp -m udp --dport 67:68 -j DROP
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
хотя все открыто, с внешнего интерфейса пакеты не уходят почему то.. наверное..
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: . ack 1 win 17520
IP 192.168.0.100.3389 > 192.168.1.132.1369: S 2163420622:2163420622(0) ack 4253912896 win 17520 <mss 1460>
IP 192.168.1.132.1369 > 192.168.1.2.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.1.132.1369 > 192.168.0.100.3389: S 4253912895:4253912895(0) win 8760 <mss 1460>
IP 192.168.0.100.3389 > 192.168.1.132.1369: . ack 1 win 17520
соединение не происходит..
router:/etc/init.d# iptables-save
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*mangle
:PREROUTING ACCEPT [178693:39877338]
:INPUT ACCEPT [173711:38374106]
:FORWARD ACCEPT [4642:1418386]
:OUTPUT ACCEPT [154974:27914303]
:POSTROUTING ACCEPT [158996:29298528]
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*nat
:PREROUTING ACCEPT [4239:539428]
:POSTROUTING ACCEPT [70:8919]
:OUTPUT ACCEPT [609:42509]
-A PREROUTING -d 192.168.1.2 -p tcp -m tcp --sport 1024:65535 --dport 3389 -j DNAT --to-destination 192.168.0.100
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.2
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
# Generated by iptables-save v1.3.6 on Wed Dec 24 11:17:58 2008
*filter
:INPUT DROP [8:576]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.0.81 -i lo -j ACCEPT
-A INPUT -s 192.168.1.2 -i lo -j ACCEPT
-A INPUT -d 192.168.1.2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A INPUT -d 224.0.0.0/255.0.0.0 -i eth1 -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -d 192.168.0.100 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.100 -p tcp -m tcp --sport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.0.132 -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.0.191 -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.0.81 -j ACCEPT
-A OUTPUT -s 192.168.1.2 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A udp_packets -p udp -m udp --dport 123 -j ACCEPT
-A udp_packets -d 192.168.1.255 -i eth1 -p udp -m udp --dport 135:139 -j DROP
-A udp_packets -d 255.255.255.255 -i eth1 -p udp -m udp --dport 67:68 -j DROP
COMMIT
# Completed on Wed Dec 24 11:17:58 2008
хотя все открыто, с внешнего интерфейса пакеты не уходят почему то.. наверное..
-
strah
- Сообщения: 283
- ОС: Freebsd, linux, Solaris.
Re: порт мапинг
Вот это:
Вам DNAT надо делать для 192.168.1.132 или для 192.168.0.132? В любом случае вы забыли добавить -A FORWARD -s ${DNAT_IP} -i eth0 -p tcp --dport 3389 -j ACCEPT.
Вам DNAT надо делать для 192.168.1.132 или для 192.168.0.132? В любом случае вы забыли добавить -A FORWARD -s ${DNAT_IP} -i eth0 -p tcp --dport 3389 -j ACCEPT.
/earth: file system full
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: порт мапинг
ИМХО эти правила вообще не относятся к текущей проблеме.
Думаете правил
Код: Выделить всё
-A FORWARD -d 192.168.0.100 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.100 -p tcp -m tcp --sport 3389 -j ACCEPTВообще лучше наверно стоит попробовать начать с пустой таблицы правил (все таблицы).
И добавить правила
iptables -t nat -A PREROUTING -d 192.168.1.2 -p tcp -m tcp --sport 1024:65535 --dport 3389 -j DNAT --to-destination 192.168.0.100
iptables -F FORWARD
ipatbles -P FORWARD ACCEPT
-
strah
- Сообщения: 283
- ОС: Freebsd, linux, Solaris.
Re: порт мапинг
Код: Выделить всё
-A FORWARD -d 192.168.0.100 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.100 -p tcp -m tcp --sport 3389 -j ACCEPTЯ просто эти правила не заметил
/earth: file system full
-
panas
- Сообщения: 24
- ОС: xubuntu 11.10
Re: порт мапинг
всем спасибо огромное, сделал как посоветовал skor, т.е. разрешил все, а потом добавлял правила запрещающие.. заработало 