Я установил сервер 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 и просто изменить адаптеры, через которые я пересылаю.