Я выполняю VirtualBox с 2 сетевыми адаптерами: стандартный NAT (enp0s3) и Адаптер Только для хоста (enp0s8). Я использую NAT для доступа к Интернету и Адаптеру Только для хоста к SSH в от моей локальной машины.
Поле загружается с обоими включенными адаптерами, у обоих есть IP-адреса, все выглядящее хорошими.
Я могу SSH в это поле по адаптеру только для хоста, никакие проблемы там. Но я не могу войти в Интернет с ним. Однако, если я отключаю адаптер только для хоста, затем я могу получить доступ к Интернету (но очевидно я больше не могу SSH в него по локальному туннелю).
И наконец, вот является мой netplan yaml конфигурацией:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
dhcp6: yes
enp0s8:
dhcp4: no
dhcp6: no
addresses: [192.168.52.101/24]
gateway4: 192.168.52.101
Какие-либо идеи? Кажется, возможно, что весь мой исходящий трафик направляет через адаптер только для хоста так или иначе.
Править: присоединение вывода ip route list
в случае, если это помогает.
default via 192.168.52.101 dev enp0s8 proto static
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
10.0.2.2 dev enp0s3 proto dhcp scope link src 10.0.2.15 metric 100
192.168.52.0/24 dev enp0s8 proto kernel scope link src 192.168.52.101
Сегодня днем я обнаружил, что эта проблема делает то же самое. Каким-то образом удалось это выяснить, и netplan, наконец, создал только 1 маршрут по умолчанию через интерфейс NAT моей виртуальной машины. В моем случае оба IP-адреса были 192.168.56.101 (только для хоста) и 10.0.3.x / 24 (NAT dhcp4). Я использую этот файл netplan:
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: yes
dhcp6: yes
routes:
- to: 0.0.0.0/0
via: 10.0.3.2
metric: 0
enp0s3:
dhcp4: no
dhcp6: no
addresses: [192.168.56.101/24]
routes:
- to: 192.168.56.1/24
via: 192.168.56.1
metric: 100
В этом случае у меня есть только один маршрут по умолчанию, и он использует NAT, поэтому он может подключаться к Интернету через мой хост.
Вывод ip r
default via 10.0.3.2 dev enp0s8 proto dhcp src 10.0.3.15 metric 100
10.0.3.0/24 dev enp0s8 proto kernel scope link src 10.0.3.15
10.0.3.2 dev enp0s8 proto dhcp scope link src 10.0.3.15 metric 100
192.168.56.0/24 dev enp0s3 proto kernel scope link src 192.168.56.10
Для меня удаление gateway4
из конфигурации помогло. Когда он настроен, я также не смог проверить связь с Интернетом.
Вот моя конфигурация netPlan, если она может помочь другим.
Примечание: enp0s3 предназначен для ssh через переадресацию портов, а enp0s8 - для статического ip
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
optional: true
enp0s8:
addresses: [192.168.10.20/24]
dhcp4: no
dhcp6: no
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
В качестве примечания, пока я боролся с этим и с VMware Fusion ... Если у вас есть указано значение 'gateway4', предполагается, что по умолчанию для интерфейсаи, похоже, не соблюдается опция 'metric' или наличие нескольких файлов .yaml с последовательностью нумерации (01-netplan.yaml, 02-netplan.yaml и т. д.), в моем случае 02 оказался ' first default », но это моя внутренняя сеть, поэтому общедоступный Интернет был недоступен.
Просто чтобы попытаться помочь людям. Мне удалось настроить Ubuntu Server 18.04 на машине vmware с адаптером NAT для выхода в Интернет и адаптером только для хоста, чтобы другие мои виртуальные машины (Kali, Metasploitable) также могли его видеть. Я использовал файл конфигурации netplan. Код yaml, который работал у меня, был следующим:
network:
renderer: networkd
ethernets:
ens38:
dhcp4: yes
dhcp6: yes
ens33:
dhcp4: no
addresses:
- 10.10.10.4/8
nameservers:
addresses:
- 8.8.8.8
search:
- 10.0.0.1
version: 2
Я разместил это, чтобы показать, что вам не нужна маршрутизация. Сначала я добавил конфигурацию для ens33, которая была моим адаптером только для хоста, а затем, как это сделал OP, я столкнулся с проблемой при попытке пинговать Интернет. Итак, все, что я сделал на этом этапе, - это добавил адаптер NAT под Ethernet, и я добавил значения dhcpX yes, а затем я смог выполнить пинг как в Интернете, так и в других моих виртуальных машинах!