Маскарад Iptables не работает на Debian VM - PullRequest
0 голосов
/ 21 марта 2020

У меня есть виртуальная машина в VirtualBox с Debian 10, и я пытаюсь, чтобы NAT маскировал свой выходной интерфейс (enp0s8), чтобы его клиенты (подключенные к нему виртуальные машины) могли получить доступ к Inte rnet.

Все интерфейсы в системе имеют IP. Я уже включил переадресацию с помощью:

echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1

И затем я выполнил:

iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE

Однако, когда я выполняю вышеизложенное, происходит следующее:

enter image description here

И независимо от того, сколько раз я iptables --flush -t nat повторю процесс, результат всегда одинаков. Правило, которое я хочу применить, никогда не сохраняется должным образом, и IP-адреса клиента никогда не маскируются.

В чем здесь проблема? Почти все учебники говорят, что это правильный способ маскировки. Я также пытался использовать nftables, но безуспешно.

1 Ответ

1 голос
/ 23 марта 2020

Это уже показывает правильный вывод. Чтобы показать правила с подробной информацией об интерфейсе, вам нужно использовать

iptables -t nat -L -n -v

И, кстати, если у вас настроена сеть NAT, она уже позаботилась о подключении снаружи.

И вы устанавливаете шлюз по умолчанию для ваших клиентов на это поле?

...