Как настроить 2 сети, одна из которых виртуальная? Коллеги, привет!
В офисе к нам приходит шнурок от провайдера с одним статическим IP. Он втыкается в роутер, к которому подключена куча машин. Роутер раздаёт IP адреса из сети 192.168.2.0/24 по DHCP. Всё работает как надо.
Сейчас приобрели сервер, воткнули в него патчкорд от роутера, сервер получил свой IP адрес (например, 192.168.2.200). Внутри сервера установили KVM, создали сеть NAT (virbr1, virbr1-nic. IP адреса раздаёт DHCP в сети 192.168.5.0/24), которая ходит в интернет через физический интерфейс enp2s0. Виртуалки доступ в интернет имеют, всё хорошо.
Что нужно: дать возможность из сети 192.168.2.0/24 получать доступ к виртуалкам в сети 192.168.5.0/24. Сначала я действовал просто: на роутере настроил статический маршрут (при пакете в 192.168.5.0/24 пакет уходит в 192.168.2.200). Затем на самом сервере настроил iptables на переадресацию пакетов из enp2s0 в virbr1 если IP получателя находится в сети 192.168.5.0/24. И всё, вроде, заработало. Только был странный момент - у некоторых людей к 192.168.5.0 не подключалось. Ни по SSH, ни по HTTP. А у других всё было хорошо.
Что интересно: как вообще организуют такие сети? Как правильно настраивать iptables под такие задачи? Не подойдёт ли для этого bridge?
Сильно не бейте, я не сисадмин, просто приходится настраивать сеть в офисе, знания приобретал по ходу работы.

21 Авг 2019 в 06:36
217 +1
0
Ответы
1

Для организации сетей с виртуальными машинами и доступом из внешней сети можно использовать несколько подходов. Один из них - использование моста (bridge).

Для этого нужно настроить мост на сервере, который будет объединять физический интерфейс enp2s0 и виртуальный интерфейс virbr1. В этом случае все устройства в сети 192.168.2.0/24 и 192.168.5.0/24 будут работать в одной общей сети и видеть друг друга без необходимости настройки маршрутизации и NAT.

Чтобы настроить мост, можно использовать следующие шаги:

Установить пакет bridge-utils (если еще не установлен): sudo apt-get install bridge-utilsОстановить DHCP сервер на виртуальной сети (virbr1): sudo systemctl stop libvirt-guestsСоздать мост br0: sudo brctl addbr br0Добавить физический интерфейс enp2s0 в мост br0: sudo brctl addif br0 enp2s0Удалить интерфейс enp2s0 из DHCP: sudo dhclient -r enp2s0Включить мост и настроить IP адрес: sudo ip link set br0 up && sudo ip addr add 192.168.2.XXX/24 dev br0Запустить DHCP сервер на новом мосту (br0) для раздачи IP адресов устройствам в обеих сетях

Теперь все устройства в сети 192.168.2.0/24 и 192.168.5.0/24 будут находиться в одной общей сети и иметь доступ друг к другу.

Касательно настройки iptables, для переадресации пакетов между сетями можно использовать следующее правило:
sudo iptables -A FORWARD -i br0 -o virbr1 -j ACCEPT
sudo iptables -A FORWARD -i virbr1 -o br0 -j ACCEPT

Пожалуйста, обратите внимание, что эти шаги могут отличаться в зависимости от конфигурации вашей системы и ее компонентов, поэтому сначала рекомендуется делать резервную копию данных и соответствующе изучить документацию или проконсультироваться с профессионалами в области сетевых технологий.

20 Апр в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 722 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир