Извините за основной вопрос, но я не могу понять этого. Я хочу создать небольшую сеть серверов Linux для тестирования.
Итак, у меня есть хост-сервер с виртуальным ящиком со следующим интерфейсом:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.4 netmask 255.255.255.0 broadcast 192.168.0.255
Then a guest vm with the following networking set up:
eth0 Link encap:Ethernet HWaddr 08:00:27:EA:15:4F
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 08:00:27:E3:E2:BC
inet addr:172.16.0.1 Bcast:172.16.7.255 Mask:255.255.248.0
И второй гость vm настроен следующим образом:
eth0 Link encap:Ethernet HWaddr 08:00:27:15:CA:14
inet addr:172.16.0.2 Bcast:172.16.7.255 Mask:255.255.248.0
inet6 addr: fe80::a00:27ff:fe15:ca14/64 Scope:Link
Я хочу иметь возможность выполнять маршрутизацию с vm 2 обратно на хост-сервер. Итак, я создал маршрут, сообщающий vm 2, что нужно отправлять трафик для 192.169.0.0
сеть через vm 1:
% route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 172.16.0.1 255.255.255.0 UG 0 0 0 eth0
172.16.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
Но я не могу дозвониться до 192.168.0.0
сеть из vm 2. Таблица маршрутизации на vm 1 выглядит следующим образом:
% route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
таблица маршрутизации на хост-сервере (на котором запущен виртуальный ящик):
% route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
поэтому я предполагаю, что моя проблема в том, что хост-сервер ничего не знает о моей виртуальной машине 172.16.0.0/16
сеть и не могу ответить.
Как я могу это исправить, мне придется использовать iptables и NAT?
Я когда-либо делал это только с хостом Windows и гостями Linux, но принцип должен быть таким же.
Проверьте следующую ссылку, особенно в сети только для хоста
http://www.virtualbox.org/manual/ch06.html#networkingmodes
Мне вообще не нужно было редактировать маршруты этим методом.
Другой путь, который вы, возможно, захотите изучить, - использовать Vagrant. http://www.vagrantup.com/ Он отлично подходит для тестирования различных конфигураций и очень быстрой настройки новых виртуальных машин. Удачи