1

Я использую два хоста, один под Ubuntu 14.04 x64, другой под Ubuntu 15.10 x64. Оба актуальны. У меня на каждой машине установлена одна и та же версия VirtualBox: 5.0.16 r105871, установленная из официального репозитория.

У меня есть две виртуальные машины, обе Debian i586, обе с установленными дополнениями VirtualBox:

  • одна с двумя виртуальными сетевыми картами: первая - NAT-ed (с традиционным IP 10.0.2.15), вторая - во внутренней сети, называемой intnet. Я вручную назначаю IP-адрес 192.168.0.1 этому NIC;

  • один с 1 виртуальной сетевой картой, в той же внутренней сети, называемой intnet. Я вручную назначаю IP-адрес 192.168.0.2 этому NIC.

Моя цель образовательная: показать студентам, как построить маршрутизатор, брандмауэр и т.д.

До недавнего времени я мог прекрасно общаться между двумя виртуальными машинами: например, ping 192.168.0.2 был в порядке с 192.168.0.1, а ping 192.168.0.1 был в порядке с 192.168.0.2. Но по какой-то странной причине это теперь невозможно (хост-объект с ошибкой недоступен)... но только на моем хосте Ubuntu 14.04! Все остается в порядке на моих хостах Ubuntu 15.10!

Более странно: если я запускаю ping 192.168.0.2 на 192.168.0.1 и запускаю tcpdump -i eth0 на 192.168.0.2, я вижу ARP-запросы "кто-имеет 192.168.0.2 скажите 192.168.0.1"!

Странно и странно: я создал еще две виртуальные машины без виртуального диска, просто загружаясь по ISO-образу SystemRescueCD. Та же идея: одна виртуальная машина с двумя сетевыми картами, одна NAT и вторая по внутренней сети, другая виртуальная машина с одной сетевой картой по внутренней сети. Я вручную установил те же IP-адреса, и результат тот же: нет пинга ... Но вдруг ручные настройки IP исчезают в воздухе (DHCP-клиент на SystemRescueCD? Таким образом я остановил службу NetworkManager, которая, похоже, решает эту специфическую проблему, но без малейшего влияния на мою основную трудность). Когда я перефиксировал IP, я иногда получаю один пинг и получаю ответ! Это все. После этого 1-го успеха все терпит неудачу. Но tcpdump на 192.168.0.2 показывает ICMP-ответ от 192.168.0.2 до 192.168.0.1 ... в то время как 192.168.0.1 ничего не показывает!

Точность: маршруты в порядке. И здесь они логически бесполезны, так как две виртуальные машины находятся в одной сети.

Это сводит меня с ума...

В Ubuntu 14.04, несомненно, есть ошибка. Мне действительно нужны эти виртуальные машины для связи на моем ноутбуке - хост, работающий под Ubuntu 14.04. Любая помощь будет принята с благодарностью. Заранее спасибо.

1 ответ1

0

Попробуйте это: На одной с двумя сетевыми картами создайте файл network.sh и поместите в него:

#!/bin/sh
 echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Затем на клиентском компьютере установите шлюз по умолчанию в 192.168.0.1:

route del default
route add default gw 192.168.0.1

Надеюсь это поможет. Меня устраивает.

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