Нужна базовая помощь для настройки Nat
У меня есть сервер с IP 1.0.0.5/24. Это основной IP-адрес сервера, и теперь у меня есть два других IP-адреса для сервера, это 1.0.2.30/24 и 1.0.2.31/24. Я хочу, чтобы VirtualBox работал под управлением другой ОС, доступной через Интернет, и позволял только указанному IP-адресу достигать виртуальной коробки.
Я новичок в iptables, и поэтому мне нужна базовая помощь и получение информации об этом.
Хостинг-провайдер не позволяет больше, чем на MAC-адрес на порт коммутатора, что означает, что я не могу сделать мост, насколько я знаю.
Кроме того, я хочу, чтобы хост отклонял дополнительные IP-адреса, чтобы это был только VirtualBox / виртуальная машина, которая принимает запрос на дополнительный IPS.
1 ответ
Я не проверял это, но это то, что я бы попробовал.
Создайте новый мост на хосте с
brctl
brctl addbr br0
Настройте виртуальную машину с мостовой сетью, подключенной к этому мосту
Назначьте частную подсеть мосту и назначьте хосту IP-адрес
ip addr add 192.168.1.1/24 dev br0 ip route add 192.168.1.0/24 dev br0
Либо статически сконфигурируйте ВМ с IP-адресом в этом диапазоне (например, 192.168.1.2), либо настройте DHCP-сервер на хосте (например, dnsmasq или dhcpserver VirtualBox).
- Убедитесь, что хост может получить доступ к виртуальной машине и наоборот по частным IP-адресам.
Подключите статический IP к eth0 на хосте
ip addr add 1.0.2.30/24 dev eth0
Убедитесь, что вы можете подключиться к хосту по дополнительному IP снаружи
Включить переадресацию IP на хосте
echo 1 > /proc/sys/net/ipv4/ip_forward
Настройте iptables для исходящих пакетов SNAT от виртуальной машины
iptables --table nat --append POSTROUTING --source 192.168.1.0/24 --jump SNAT --to 1.0.2.30 iptables --append FORWARD --source 192.168.1.0/24 --jump ACCEPT
Убедитесь, что виртуальная машина имеет подключение к Интернету
Настройте iptables для пакетов DNAT на дополнительный IP к VM
iptables --table nat --append PREROUTING --destination 1.0.2.30 --to-destination 192.168.1.2 iptables --append FORWARD --destination 192.168.1.2 --jump ACCEPT
Убедитесь, что вы можете подключиться к виртуальной машине по дополнительному IP-адресу извне