"111.111.111.111" это внешний айпи моего сервера за которым стоит RPD.
Эим правила я нашел в сети когда искал как сделать:
sudo iptables -A FORWARD -i eth0 -p tcp --dport 3389 -j ACCEPT
sudo iptables -t nat -A PREROUTING -p tcp -d 111.111.111.111 --dport 3389 -j DNAT --to-destination 192.168.1.100:3389
sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.1.100 --dport 3389 -j SNAT --to-source 111.111.111.111
Первое разрешает форвардить, второе от внешнего айпи и порта 3389 на внутренний 192.168.1.100:3389 и третье правило все обратно.
Оно замечательно работает. Что интересно я вот нахожусь за натом этого адреса 111.111.111.111. Я настраиваю клиент подключиться на 111.111.111.111:3389 и проблем нет, моментально заходит. Потом словил чужую wifi сеть, подключился и пытаюсь из нее и не работает ничего.
Если мои правила не верны то ранее они работали.
Я думал что все это из за виртуального интерфейса 192.168.1.1 что я прописал. Я его убрал вообще. Переписал сервер на адрес 192.168.0.100 чтоб он находится на том же интерфейсе что и все. Подправил правила вышепоказанные чтоб не на 192.168.1.100 а на 192.168.0.100 - но все оказалось так же. Изнутри на внешний айпи и порт работает, а с наружи нет.
Пользователь решил продолжить мысль [time]22 Март 2015, 00:08:29[/time]:
Вот мой iptables-save, прошу не бить.
# Generated by iptables-save v1.4.21 on Sat Mar 21 22:03:56 2015
*filter
:INPUT ACCEPT [32:5376]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -m state --state NEW -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1234 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2345 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -p udp -m udp --sport 1701 -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Sat Mar 21 22:03:56 2015
# Generated by iptables-save v1.4.21 on Sat Mar 21 22:03:56 2015
*mangle
:PREROUTING ACCEPT [3296:501286]
:INPUT ACCEPT [2215:283725]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2170:560429]
:POSTROUTING ACCEPT [3296:788671]
-A FORWARD -j ACCEPT
COMMIT
# Completed on Sat Mar 21 22:03:56 2015
# Generated by iptables-save v1.4.21 on Sat Mar 21 22:03:56 2015
*nat
:PREROUTING ACCEPT [1353:175207]
:INPUT ACCEPT [1282:167812]
:OUTPUT ACCEPT [49:3312]
:POSTROUTING ACCEPT [12:720]
-A PREROUTING -d 111.111.111.111/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.100:3389
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/23 -o eth0 -j MASQUERADE
-A POSTROUTING -d 192.168.0.100/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 111.111.111.111
Пользователь решил продолжить мысль [time]22 Март 2015, 00:26:40[/time]:
К стати ваш вариант один в один как и мой.
Пользователь решил продолжить мысль [time]22 Март 2015, 01:46:30[/time]:
Ребята выручайте, это что-то не так с iptables.
Пользователь решил продолжить мысль [time]22 Март 2015, 02:22:47[/time]:
У меня уже такие мысли лезут. Что если я могу подключиться на внешний адрес из под этой же сети, но не могу извне то может просто провайдер что-то блокирует? Может такое быть?
Пользователь решил продолжить мысль 22 Марта 2015, 02:02:03:
Нет, провайдер ничего не блокирует. Запустил TCPDUMP если заходишь с локального компьютера то бегают пакеты и все работает. Если заходишь извне то пакет приходит и все.
00:56:38.480911 IP 111.111.111.223.56951 > 111.111.111.111.3389: Flags , seq 1808589832, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 181472354 ecr 0,sackOK,eol], length 0
00:56:45.379724 IP 111.111.111.223.56952 > 111.111.111.111.3389: Flags , seq 3593840610, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 181479291 ecr 0,sackOK,eol], length 0
00:56:51.364137 IP 111.111.111.223.56953 > 111.111.111.111.3389: Flags , seq 2994539063, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 181485273 ecr 0,sackOK,eol], length 0
00:57:03.355179 IP 111.111.111.223.56954 > 111.111.111.111.3389: Flags , seq 3973123576, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 181497253 ecr 0,sackOK,eol], length 0
Видно как с 111.111.111.223 приходит запрос и обвывается. Вот я 4 раза пробовал зайти и 4 раза выстреливала вот такая строка.