Как настроить 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? Сильно не бейте, я не сисадмин, просто приходится настраивать сеть в офисе, знания приобретал по ходу работы.
Для организации сетей с виртуальными машинами и доступом из внешней сети можно использовать несколько подходов. Один из них - использование моста (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
Пожалуйста, обратите внимание, что эти шаги могут отличаться в зависимости от конфигурации вашей системы и ее компонентов, поэтому сначала рекомендуется делать резервную копию данных и соответствующе изучить документацию или проконсультироваться с профессионалами в области сетевых технологий.
Для организации сетей с виртуальными машинами и доступом из внешней сети можно использовать несколько подходов. Один из них - использование моста (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
Пожалуйста, обратите внимание, что эти шаги могут отличаться в зависимости от конфигурации вашей системы и ее компонентов, поэтому сначала рекомендуется делать резервную копию данных и соответствующе изучить документацию или проконсультироваться с профессионалами в области сетевых технологий.