
Извините, если вопрос глупый, но я недавно боролся с NAT в VMware, так что, пожалуйста, простите меня.
У меня есть хост Windows 8.1 с гостевой ОС CentOS 7, и я использую VMware Workstation 12.1. Мой гость настроен с NAT, используя виртуальный сетевой адаптер VMware VMnet8, который можно найти в «Центре управления сетями и общим доступом» Windows.
Моя конфигурация работает нормально. Я могу выйти в интернет из гостевой Linux, проблема в том, что я не понимаю, почему это работает. Я включил несколько изображений, может кто-нибудь объяснить мне?
Мои настройки гостевой сети VMware, похоже, предполагают, что мой виртуальный адаптер Windows VMnet8 должен бытьшлюз по умолчанию с IP-адресом 192.168.59.2.
Однако, как показано ниже, это не так. Виртуальный сетевой адаптер Windows VMnet8 имеет IP-адрес192.168.59.1
Мой вопрос снова:Почему это работает?Что такое адрес 192.168.59.2? Я не понимаю, как сетевой трафик идет от виртуальной машины к этому загадочному адресу 192.168.59.2, к хостовой системе по адресу 192.168.59.1. Важно, чтобы я это понял, чтобы я мог воспроизвести это в будущем. Я включил немного больше информации из гостевой системы CentOS ниже. Ничто из этого не говорит о виртуальном адаптере VMnet8.
[user1@localhost ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:88:c7:5b brd ff:ff:ff:ff:ff:ff
inet 192.168.59.128/24 brd 192.168.59.255 scope global dynamic eno16777736
valid_lft 1009sec preferred_lft 1009sec
inet6 fe80::20c:29ff:fe88:c75b/64 scope link
valid_lft forever preferred_lft forever
[user1@localhost ~]$ ip route
default via 192.168.59.2 dev eno16777736 proto static metric 100
192.168.59.0/24 dev eno16777736 proto kernel scope link src 192.168.59.128
192.168.59.0/24 dev eno16777736 proto kernel scope link src 192.168.59.128 metric 100
[user1@localhost ~]$ cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.59.2
Кроме того, если вы сомневаетесь, что я действительно использую NAT, взгляните на сетевые настройки моей виртуальной машины.
решение1
Адаптер VMNet8 подключается к виртуальной сети, как и виртуальный сетевой адаптер, установленный на вашем хосте.
Я думаю, вы путаете суть адаптера хоста. Трафик от гостя к локальной сети или Интернету не проходит через адаптер 192.168.59.1. Этот адаптер используется хостом для связи с гостем; это не порт маршрутизатора, который соединяет сеть VMNet с локальной сетью.
Интерфейс 192.168.59.2 — это программный интерфейс в виртуальной сети, который управляет восходящим каналом между виртуальной сетью и подключением LAN хостов. Вы можете управлять физическим интерфейсом, конфигурацией IP и другими характеристиками шлюза по умолчанию виртуальной сети с помощью редактора виртуальных сетей:http://www.wikihow.com/Создание-виртуальных-сетей-с-помощью-VMware-Workstation
Итак, подведем итог: виртуальная сеть настроена на использование .2 в качестве шлюза и автоматически отправляет этот трафик через интерфейс локальной сети хоста. Виртуальный интерфейс на хосте используется для участия в сети, в которой находятся гости.