Сделайте машину маршрутизатором NAT

Я хотел бы создать следующую сеть:

Интернет ---- Хост-машина ---- VM1 --- (локальная сеть) - VM2

с VM1, действующей как NAT-роутер. VM1 и VM2 запускают Ubuntu через VirtualBox.

Для этого я создал локальную сеть 192.168.46.x для VM1 (192.168.46.101) & amp; VM2 (192.168.46.102). Я также установил значение в / proc / sys / net / ipv4 / ip_forward равным 1 (для VM1). Кроме того, я подключил VM1 к NAT.

В этой конфигурации я могу пинговать VM1 с VM2 и наоборот, а также пинговать google.com с VM1.

Я подумал, что для возможности пропинговать google.com из VM2 мне просто нужно добавить следующую запись в таблицу маршрутизации VM2:

Dest      Gateway         Netmask        Iface
0.0.0.0   192.168.46.101  255.255.255.0  enp0s3

(где enp0s3 - единственный сетевой интерфейс VM2 ).

Но все же, VM2 получает «неизвестный хост google.com» при пинге.

Не могли бы вы помочь мне выяснить, почему?

ifconfig для VM1 , ifconfig для VM2 , route -n для VM1 , route -n для VM2

0
задан 21 December 2017 в 07:09

1 ответ

Я фактически пропустил некоторые записи в iptables, добавленные следующим образом:

# iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
# iptables -A FORWARD -i enp0s8 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT

с enp0s8 интерфейсом для внешнего мира и enp0s3 интерфейсом для внутренней сети.

Запросы в Интернет от VM2 теперь работают ...:)

1
ответ дан 21 December 2017 в 07:09

Другие вопросы по тегам:

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