У меня есть Ubuntu 18.04.2 с сервером l2tp vpn, установленным сценарием. Мой клиент запускает Windows 7 и подключения к этому серверу, Интернет работает отлично, соединение защищается. Я должен передать rdp порт от IP Локального соединения внешнего vpn сервера до этого клиента четкие работы, но не с внешней стороны. Я использую это:
iptables -t nat -A PREROUTING -i eth0 -d 5.253.x.x -p tcp --dport 55658 -j DNAT --to-destination 192.168.42.10:3389
порт 55658 открыт на маршрутизаторе
результат iptables-сохранения:
*filter :INPUT ACCEPT [731:39193] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [126833:135018308] -A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol none -j DROP -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p udp -m multiport --dports 500,4500 -j ACCEPT -A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol ipsec -j ACCEPT -A INPUT -p udp -m udp --dport 1701 -j DROP -A FORWARD -m conntrack --ctstate INVALID -j DROP -A FORWARD -i eth0 -o ppp+ -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i ppp+ -o eth0 -j ACCEPT -A FORWARD -s 192.168.42.0/24 -d 192.168.42.0/24 -i ppp+ -o ppp+ -j ACCEPT -A FORWARD -d 192.168.43.0/24 -i eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.43.0/24 -o eth0 -j ACCEPT -A FORWARD -j DROP COMMIT *nat :PREROUTING ACCEPT [100:6028] :INPUT ACCEPT [31:1477] :OUTPUT ACCEPT [13:910] :POSTROUTING ACCEPT [13:910] -A PREROUTING -d 5.253.x.x/32 -i eth0 -p tcp -m tcp --dport 55658 -j DNAT --to-destination 192.168.42.10:3389 -A POSTROUTING -s 192.168.42.0/24 -o eth0 -j MASQUERADE -A POSTROUTING -s 192.168.43.0/24 -o eth0 -m policy --dir out --pol none -j MASQUERADE COMMIT
Помогите мне, я застреваю
Это может быть ничто, но я никогда не видел *nat
ниже *filter
. Какую документацию или руководства вы используете?
Вот пример, использующий Minecraft, его порт и дополнительный порт:
*nat
...
-A PREROUTING -i eth0 -p tcp -m multiport --dports 25565,8888 -j DNAT --to-destination 192.168.1.20
...
*filter
...
-A INPUT -i eth0 -p tcp -m multiport --dports 25565,8888 -m state --state NEW,ESTABLISHED -j ACCEPT
...
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
...
-A FORWARD -i eth0 -p tcp -m multiport --dports 25565,8888 -d 192.168.1.20 -j ACCEPT
...
Во-первых, мы разрешаем ПРОГРУЗИТЬ из этого порта в тот же порт в пункте назначения. Вы можете использовать --to-destination 192.168.1.20:NNNN
, если хотите настроить порт. Затем мы должны создать фильтр, чтобы гарантировать, что мы не DROP
или REJECT
эти пакеты. Мы ограничиваем это до NEW,ESTABLISHED
и имеем правило, разрешающее весь RELATED,ESTABLISHED
трафик. Это приводит к разрешению новых и существующих подключений.
Я не вижу местного или lo
правила. Обычно местный трафик -j ACCEPT
находится в начале цепочки. Скорее всего, у вас возникнут проблемы, если вы не обработаете lo
должным образом. Убедитесь, что вы правильно загружаете эти новые правила и подтверждаете, что правила соответствуют вашим намерениям:
sudo iptables -L
Помните, что вы можете захотеть iptables --flush
перед загрузкой новых таблиц для тестирования. Это предотвратит проблемы с устаревшей информацией, которая испортит ваши изменения, а также обеспечит понимание того, как таблицы будут выглядеть свежо, например при перезагрузке системы.