iptables: добавить маршрутизацию для внутренних гостей и переадресацию портов [закрыто]

У меня есть следующие правила, работающие нормально - до того, как я добавил частную сеть с одной виртуальной машиной (которая может пинговать все машины на хосте, но не снаружи) . Я хочу, чтобы виртуальная машина (192.168.100.2) подключилась к Интернету и включила пересылку, чтобы я мог подключиться к ней через SSH. (Работает только без моих правил) Переадресация IP включена.

Правила iptables, которые у меня есть:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:152]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables    INPUT:DROP: "
-A INPUT -j DROP
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
COMMIT

Когда я загружаю указанные выше правила, а затем загружаю следующие, внутренняя виртуальная машина не может подключиться к Интернету, но я могу подключиться к ней через переадресацию портов:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o br0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i br0 --dport 22727 -j DNAT --to-destination 192.168.100.2:2727
iptables -A FORWARD -p tcp -d 192.168.100.2 --dport 22727 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Любой намекает, что мне не хватает?

2
задан 18 February 2016 в 23:19
1 ответ

Проблема может заключаться в том, что веб-пакеты, возвращаемые из Интернета, отбрасываются цепочкой INPUT, поскольку порт dport является случайным (и не всегда 22727)

Вы можете попробовать:

iptables -I INPUT 2 -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT

EDIT:

Вам также необходимо включить переадресацию ip

echo 1> / proc / sys / net / ipv4 / ip_forward

1
ответ дан 3 December 2019 в 12:42

Теги

Похожие вопросы