У меня на ноутбуке есть бродячая клиентская коробка "ubuntu/trusty64". Я часто меняю сети дома / на работе / кафе или подключаю свой ноутбук к своей точке доступа.

Я хотел бы использовать общедоступные сети во всех различных сетях, переконфигурировав сетевой интерфейс бродячего клиента в соответствии с сетью, в которой находится мой компьютер. Поэтому я не боюсь добавлять маршруты или раскомментировать блоки конфигурации по мере необходимости - до тех пор, пока это работает.

Я также хотел бы использовать конфигурационный файл ssh на моем хост-компьютере с Ubuntu, чтобы я мог легко перемещаться по файловой системе бродячих ящиков через sftp.

Вопрос: как мне это сделать.

Вот что я попробовал:

The initial setup that works:

Host machine:
---------------
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

...
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether a4:c4:94:5f:00:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global wlan0
   valid_lft forever preferred_lft forever
inet6 fe80::a6c4:94ff:fe5f:a5/64 scope link 
   valid_lft forever preferred_lft forever


Guest vm:
---------------
config.vm.network :public_network, bridge: "wlan0", ip: "192.168.1.251", netmask: "255.255.255.0"

Затем я меняю сеть (например, подключаюсь к точке доступа):

Host machine:
---------------
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.43.1     0.0.0.0         UG    0      0        0 wlan0
192.168.43.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether a4:c4:94:5f:00:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.43.101/24 brd 192.168.43.255 scope global wlan0
   valid_lft forever preferred_lft forever
inet6 fe80::a6c4:94ff:fe5f:a5/64 scope link 
   valid_lft forever preferred_lft forever



Guest vm:
---------------
config.vm.network :public_network, bridge: "wlan0", ip: "192.168.43.105", netmask: "255.255.255.0"

Подключение к 192.168.43.105 не работает через ssh (с помощью ssh config). После исследования я вижу, что сетевой интерфейс даже не назначен (я видел это, проверяя GUI в виртуальном окне во время запуска):

Старый IP получает назначен.

Дайте мне знать, какие-либо мысли и идеи для устранения неполадок.

PS

Я переношу вопрос с сервера: ошибка https://serverfault.com/questions/798980/how-to-change-vagrant-guest-vm-ip-when-the-host-machine-changes-the-network

Извините заранее, если это не соответствует правилам. Я действительно надеюсь, что это так.

1 ответ1

0

Есть несколько способов решить эту проблему, но все они включают хост или машину предположений, участвующую в одной сети.

Я просто создал псевдоним ip в моем wlan0-соединении, управляемом сетевым менеджером, в моей домашней и рабочей сети (сеть определяется по IP и маске подсети).

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether a4:c4:94:5f:00:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global wlan0
   valid_lft forever preferred_lft forever
inet 192.168.0.158/24 brd 192.168.0.255 scope global wlan0
   valid_lft forever preferred_lft forever
inet6 fe80::a6c4:94ff:fe5f:a5/64 scope link 
   valid_lft forever preferred_lft forever

И думаю, ОС имеет только 1 IP:

config.vm.network :public_network, bridge: "wlan0", ip: "192.168.0.159", netmask: "255.255.255.0"

Так что теперь, когда я дома, я могу подключиться к машине по ssh, так как у меня есть псевдоним IP, и моя сетевая карта участвует в той же сети, что и гостевая машина. Когда я на работе, он будет работать автоматически, так как мой сетевой адаптер автоматически будет в той же подсети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .