[Linux, network] Хочется странного :)

Fragaria

Народ, подскажите, как правильно сделать вот такую штуку:
есть комп, у него 1 физический сетевой интерфейс. На компе стоит виртуальная машина VirtualBox, а в ней винда.
Сеть у нас состоит из двух слабосвязанных подсетей 192.168.50.0/24 и 192.168.0.0/20, и в связи с этим необходимо иметь 2 разных IP на одном интерфейсе, чтобы без проблем иметь доступ к ресурсам обеих сетей.
Винда в виртуальной машине ходит в сеть через свой IP, а не через NAT.
Так вот, ситуацию с виндой и линуксом для случая одной сети я разрешил. Вот пример файла interfaces:

auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down


auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user admin

auto br0
iface br0 inet static
address 192.168.50.101
netmask 255.255.255.0
gateway 192.168.50.2
bridge_ports eth0 tap0

Но как только понадобилось ходить в сетку через 2 интерфейса, я оказался в тупике (от слова "тупить"). Никак не могу понять, как сюда воткнуть ещё один виртуальный интерфейс для того, чтоб линуксовая машина ходила в обе подсетки, а также как сделать, чтобы ещё и винда ходила в обе подсетки с двух разных IP?
Короче, в итоге мне нужно получить 2 разных IP, два - для винды и два - для линуха, по одному из каждой подсети.

dgaf

поднять 4 ip на eth0
два из них dnat-ить на внутренние виртуальные адреса венды

Fragaria

Не, в мануале к виртуалбоксу написано, что сеть с реальными IP там организуется через виртуальный интерфейс и бриджи. То есть tap0 и br0 надо оставить, и что-то добавить для того, чтобы IPшника было 2.
Я пока придумал, как сделать чтоб винда ходила по 2 IP - просто тупо в винде для сетевого интерфейса прописать 2 IP и настроить маршрутизацию. А как то же самое с линуксом сделать в рамках существующей конфигурации?

dgaf

4ip - 2tap, 2br - 2ip ?

Fragaria


auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down


auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user admin

auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user admin


auto br0
iface br0 inet static
address 192.168.50.101
netmask 255.255.255.0
gateway 192.168.50.2
bridge_ports eth0 tap0

auto br1
iface br1 inet static
address 192.168.0.72
netmask 255.255.240.0
bridge_ports eth0 tap1

Так?

dgaf

а что такое 0.0.0.0 ?

Fragaria

Это чтоб не присваивать ему IP сразу, чтоб IP присваивался гостевой системой.

conv3rsje

Если я правильно понимаю как оно работает, хостовому бриджу пофигу, что у тебя на tap0, он только ethernet фреймы маршрутизирует и ему интересен только мак
Так что второй адрес винды делаешь у нее внутри алиазом
Второй адрес хоста - попробуй поднять br0:1 (алиаз) или если не получается, повесить его с помошью ip addr (тот же алиаз только не создается новый девайс)

Fragaria

алиас не пробовал, а ip addr add на бридж не помог чота
Оставить комментарий
Имя или ник:
Комментарий: