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

Перенаправление IP Ubuntu на виртуальный адаптер Ethernet

Я установил сервер Ubuntu вместе с ufw в качестве брандмауэра.

Для начала у меня две сети:

Общедоступный: 66.xxx.xxx.70 - 66.xxx.xxx.78

Частный: 192.168.3.1 - 192.168.3.255

Моя сетевая конфигурация:

auto eth0
iface eth0 inet static
        address 66.xxx.xxx.70
        netmask 255.255.255.0
        network 66.xxx.xxx.0
        broadcast 66.xxx.xxx.255
        gateway 66.xxx.xxx.1


auto eth0:0
iface eth0:0 inet static
        address 66.xxx.xxx.71
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:1
iface eth0:1 inet static
        address 66.xxx.xxx.72
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:2
iface eth0:2 inet static
        address 66.xxx.xxx.73
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:3
iface eth0:3 inet static
        address 66.xxx.xxx.74
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:4
iface eth0:4 inet static
        address 66.xxx.xxx.75
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:5
iface eth0:5 inet static
        address 66.xxx.xxx.76
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:6
iface eth0:6 inet static
        address 66.xxx.xxx.77
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.0

auto eth0:7
iface eth0:7 inet static
        address 66.xxx.xxx.78
        netmask 255.255.255.0
        broadcast 66.xxx.xxx.255
        network 66.xxx.xxx.78

auto eth1
iface eth1 inet static
        address 192.168.3.3
        netmask 255.255.255.0
        broadcast 192.168.3.255
        network 192.168.3.0

Я начал с создания брандмауэра, чтобы ограничить весь входящий трафик и разрешить весь исходящий трафик:

sudo ufw default deny
sudo ufw allow from 192.168.3.0/24

Оттуда я изо всех сил пытался настроить IP Forwarding, но смог найти четыре работающие строки (я создал сценарий запуска, но абстрагировал следующее):

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Хорошо, на данный момент все работает. Я могу настроить любую машину в сети 192.168.3. * Для использования этого сервера Ubuntu в качестве сетевого шлюза (192.168.3.3), и я могу выполнить маршрутизацию в Интернет, и я просматриваю веб-страницы и проверяю, что мой IP-адрес 66.xxx. xxx.70.

Теперь я попытался изменить интерфейс на eth0: 7 (при моем запуске и перезагрузил, и даже удалил запуск и запустил его вручную), чтобы мой IP-адрес был 66.xxx.xxx.78, но после того, как я запустил скрипт, переадресация IP не работает, и я не могу пинговать, tracert останавливается на 192.168.3.3 и, конечно, я не могу просматривать веб-страницы.

Хотя я могу переключить основной IP-адрес для решения проблемы, я хотел бы знать, что не так, почему я не могу указать eth0: 7 и что делать, чтобы это исправить. Я новичок в Linux, так что я борюсь. Любая помощь приветствуется.

Оказывается, iptables не поддерживает псевдоним виртуального ip (eth0: 7).

Чтобы решить свою проблему, я сделал основной IP-адрес машины 66.xxx.xxx.78 и привязал 0,70 к eth0: 7, и моя проблема была решена.

Поскольку это виртуальная машина Ubuntu, я думаю, что могу просто добавить третью сетевую карту и привязать к ней 66.xxx.xxx.78 и просто изменить адаптеры, через которые я пересылаю.