На моем шлюзе Debian 8: я хочу перенаправить входящий порт 9000 на 192.168.4.10:3389 и входящий порт 9001 на 192.168.4.11:3389.

DHCP - WAN - eth0 -----> eth2 - LAN - 192.168.4.1

Я использую rules.v4 ниже с iptables-restore. У меня не так много опыта работы с iptables и всеми учебными пособиями в Интернете, я не мог реализовать это в своих существующих правилах.

Я использую Debian 8 с iptables v1.4.21.

Мои существующие правила iptables ниже.

# Generated by iptables-save v1.4.21 on Sat Jul 25 12:31:07 2020
*nat
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

*filter
-A INPUT -i lo -j ACCEPT
# allow ssh, so that we do not lock ourselves
# allow ping from WAN side
--append INPUT --protocol icmp --icmp-type any --src [REDACTED_IP] --jump ACCEPT


# open ports for gateway services
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i bond0 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp --dport 9091 -j ACCEPT

-A INPUT -i bond0 -p tcp -m tcp --dport 8200 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -j DROP

COMMIT

Я восстанавливаю эти правила с помощью iptables-restore < /etc/iptables/rules.v4

Любая помощь будет высоко оценена. Спасибо.

0
user611811 23 Окт 2020 в 00:07

1 ответ

При условии, что шлюз имеет два сетевых адаптера (eth0 обращен к глобальной сети, а eth2 - к локальной сети). Первое правило включит пересылку пакетов (также известную как маршрутизация). Входящий трафик из Интернета будет попадать в eth0, а затем транслироваться на удаленный узел назначения по правилам №2 и №3. Это известно как Destination NAT (ДНК). Четвертое правило включает NAT (маскарад).

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9000 -j DNAT --to-destination 192.168.4.10:3389
$ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9001 -j DNAT --to-destination 192.168.4.11:3389
$ sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Затем рассмотрите постоянные изменения, если все пойдет хорошо.

0
Bruce Malaudzi 25 Окт 2020 в 11:14