Назад | Перейти на главную страницу

требуется базовая помощь по настройке 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
    
  2. Настройте виртуальную машину с помощью мостовая сеть подключен к этому мосту

  3. Назначьте мосту частную подсеть и дайте хосту IP-адрес.

    ip addr add 192.168.1.1/24 dev br0
    ip route add 192.168.1.0/24 dev br0
    
  4. Либо статически настройте виртуальную машину с IP-адресом в этом диапазоне (например, 192.168.1.2), либо настройте DHCP-сервер на хосте (например, dnsmasq или VirtualBox dhcpserver).

  5. Убедитесь, что хост может получить доступ к виртуальной машине и наоборот по частным IP-адресам.
  6. Прикрепите статический IP к eth0 на хосте

    ip addr add 1.0.2.30/24 dev eth0
    
  7. Убедитесь, что вы можете подключиться к хосту по дополнительному IP извне

  8. Включить переадресацию IP на хосте

    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  9. Настройте 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
    
  10. Убедитесь, что виртуальная машина подключена к Интернету.

  11. Настройте iptables для пакетов DNAT на дополнительный IP-адрес виртуальной машины

    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
    
  12. Убедитесь, что вы можете подключиться к ВМ по дополнительному IP извне