Индекс (Главная)

Тестовая локальная сеть в VirtualBox
Подробнее о VirtualBox вы можете узнать в Перевод документации VirtualBox

Инструменты: Ubuntu 8.10, Sun xVM VirtualBox 2.1.4

У меня стоит ubuntu 8.10, ADSL модем подключеный через ethernet к машине (ip 192.168.1.1), внутренний ip компьютера 192.168.1.2 как eth0 - после установки VirtualBox он автоматически прописался в таблицу хост-интерфейсов.(см. настройка сети в VirtualBox)

Создаем две виртуальные машины Ubuntu 8.10 (U8) и Windows XP (XP). Для XP настроим один сетевой адаптер как хост-интерфейс. U8 будет шлюзом в интернет, для этого создаем два сетевых интерфейса: один NAT, а второй как хост-интерфейс (Если у вас нет физического ethernet интерфейса используйте для виртуальных сетевых устройств режим "виртуальный адаптер хоста" ). Запускаем виртуальную машину U8 и...

Настройка шлюза

NAT интерфейс у меня eth0, получает адрес от virtualbox ip 10.0.2.15. с помощью network-manager второй eth1 настроил интерфейс так ip=192.168.1.3/24. В итоге:

$ netstat -r

Таблица маршутизации ядра протокола IP

Destination Gateway Genmask Flags MSS Window irtt Iface

10.0.2.0 * 255.255.255.0 U 0 0 0 eth0

192.168.1.0 * 255.255.255.0 U 0 0 0 eth1

link-local * 255.255.0.0 U 0 0 0 eth0

default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

а DNS сервер определяем так

$cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 10.0.2.3

Далее все делал по внутренней документации Ubuntu Server Guide (см. Настройка UFW).

Ниже следует мой сокращенный перевод

8.3.3.1. ufw Masquerading

Настройка ip Masquerading на правилах ufw .

Во первых , необходимо включить пересылку пакетов. Для этого убедитесь, что в файле /etc/default/ufw параметру DEFAULT_FORWARD_POLICY присвоено значение “ACCEPT”:

DEFAULT_FORWARD_POLICY="ACCEPT"

В файле /etc/ufw/sysctl.conf уберите комментарий из строчки:

net.ipv4.ip_forward=1

а для IPv6 :

net.ipv6.conf.default.forwarding=1

Далее необходимо в начало файла (после начальных коментариев) /etc/ufw/before.rules добавить правила:

# nat Table rules

*nat

:POSTROUTING ACCEPT [0:0]

# Forward traffic from eth1 through eth0.

-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed

COMMIT

Учтите, что после изменений правил в фалах /etc/ufw, вы должны добавлять команду commit

# don't delete the 'COMMIT' line or these rules won't be processed

COMMIT

После изменений перезапустим ufw:

sudo ufw disable && sudo ufw enable

8.3.3.2. iptables Masquerading

Стандартный для linux метод, включения masquerading через iptables

Как и для ufw, первый шаг включение пакетной пересылки. В файле /etc/sysctl.conf расскомментируйте строки:

net.ipv4.ip_forward=1

net.ipv6.conf.default.forwarding=1

затем , выполните команду sysctl для принятия изменений:

sudo sysctl -p

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/16 -o eht0 -j MASQUERADE

sudo iptables -A FORWARD -s 192.168.1.0/16 -o eth0 -j ACCEPT

sudo iptables -A FORWARD -d 192.168.1.0/16 -m state --state ESTABLISHED,RELATED -i eth0 -j ACCEPT

Чтобы все это работало после перезагрузки необходимо добавить эти команды в файл /etc/rc.local. Настройки хорошо описаны в различных источниках о linux, поэтому не буду их комментировать.

Остается запустить виртуальную машину XP и настроить в ней сеть, например:

ip 192.168.1.30

маска 255.255.255.0

шлюз 192.168.1.3

dns 10.0.2.3

Как настроить получение динамических адресов смотрите статью Настройка DHCP сервера

Проверим работу нашего шлюза:

C:\Documents and Settings\user>ping -n 1 ya.ru

При проверке связи не удалось обнаружить узел ya.ru. Проверьте имя узла и повторите попытку.

Не работает!? Правильно, firewall то мы не настраивали! Временно его отключим:

sudo ufw disable

и повторим ping:

C:\Documents and Settings\user>ping -n 1 ya.ru

Обмен пакетами с ya.ru [213.180.204.8] по 32 байт:

Ответ от 213.180.204.8: число байт=32 время=26мс TTL=125

Статистика Ping для 213.180.204.8:

Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

Минимальное = 26мсек, Максимальное = 26 мсек, Среднее = 26 мсек

У меня все заработало, а у вас?

Индекс (Главная)

Оставить комментарий в Гостевая книга



Сайт создан в системе uCoz