Тестовая локальная сеть в VirtualBox

Опубликовано : 03-08-2009 | Автор : admin | Категория : Linux, Software

загрузка...

Инструменты: 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 он автоматически прописался в таблицу хост-интерфейсов.

Создаем две виртуальные машины Ubuntu 8.10 (U8) и Windows XP (XP). Для XP настроим один сетевой адаптер как хост-интерфейс. U8 будет шлюзом в интернет, для этого создаем два сетевых интерфейса: один NAT, а второй как хост-интерфейс .Запускаем виртуальную машину 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.

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

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 Settingsuser>ping -n 1 ya.ru

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

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

sudo ufw disable

и повторим ping:

C:Documents and Settingsuser>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 мсек

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

Опубликовано на http://mirspo.narod.ru

загрузка...

Похожие зиписи

Написать коментарий

Я не робот.

Comment Spam Protection by WP-SpamFree

загрузка...