Добрый вечер, целый день пытаюсь побороть вот такую задачку:
Имеется сервер (Debian 11) и несколько дополнительных ip. Подключил их таким образом:
/etc/network/interfaces.d/50-cloud-init
auto lo
iface lo inet loopback
dns-nameservers 213.186.xx.xx
auto ens3
iface ens3 inet dhcp
accept_ra 0
mtu 1500
auto ens3:0
iface ens3:0 inet static
address 2.2.2.2
netmask 255.255.255.255
auto ens3:1
iface ens3:1 inet static
address 3.3.3.3
netmask 255.255.255.255
# control-alias ens3
iface ens3 inet6 static
address 2000:4000:400:3000::3000/56
# post-up route add -A inet6 default gw 2000:4000:400:3000::1 || true
# pre-down route del -A inet6 default gw 2000:4000:400:3000::1 || true
У сервера исходящие соединения происходят с адреса 1.1.1.1, который является дефолтным и задается через dhcp. А мне нужно сделать, чтобы исходящий трафик шел с адреса 2.2.2.2. Закомментил строки для ipv6, чтобы не мешало.
Что я уже пробовал: Во-первых, подключал новые адреса другим способом, но, как я понял, это без разницы
post-up /sbin/ifconfig ens3:0 2.2.2.2 netmask 255.255.255.255 broadcast 2.2.2.2
pre-down /sbin/ifconfig ens3:0 down
post-up /sbin/ifconfig ens3:1 3.3.3.3 netmask 255.255.255.255 broadcast 3.3.3.3
pre-down /sbin/ifconfig ens3:1 down
Пробовал изменить маршрут таким способом:
post-up ip route replace default via 1.1.1.1 src 2.2.2.2
Маршруты сейчас выглядят таким образом $ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 1.1.1.1 0.0.0.0 UG 0 0 0 ens3
1.1.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 ens3
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-e3f27b8fa113