Как настроить шлюз Linux для нескольких сетей WAN?

У меня есть сеть со следующими адресами IPv4 и IPv6:

eth0      Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.239.145  Bcast:109.2xx.239.255 Maske:255.255.255.0
         inet6-Adresse: 2a02:d40:xx:xx::6/64 Gültigkeitsbereich:Global
         inet6-Adresse: 2a02:d40:xx:xx::5/64 Gültigkeitsbereich:Global
         inet6-Adresse: 2a02:d40:xx:xx::4/64 Gültigkeitsbereich:Global
         inet6-Adresse: 2a02:d40:xx:xx::f/64 Gültigkeitsbereich:Global
         inet6-Adresse: 2a02:d40:xx:xx::3/64 Gültigkeitsbereich:Global
         inet6-Adresse: 2a02:d40:xx:xx::2/64 Gültigkeitsbereich:Global
         inet6-Adresse: fc00::1/7 Gültigkeitsbereich:Global
         inet6-Adresse: fe80::3285:a9ff:fe42:3e60/64

Gültigkeitsbereich:Verbindung
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
      RX packets:531421155 errors:0 dropped:19 overruns:0 frame:0
      TX packets:35535228 errors:0 dropped:0 overruns:0 carrier:0
      Kollisionen:0 Sendewarteschlangenlänge:1000
      RX bytes:61800515345 (57.5 GiB)  TX bytes:9958352527 (9.2 GiB)

eth0:0    Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:192.168.1.10  Bcast:192.168.1.255 Maske:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

eth0:1    Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.253.68  Bcast:109.2xx.253.79 Maske:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

eth0:5    Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.253.66  Bcast:109.2xx.253.79 Maske:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

eth0:6    Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.253.67  Bcast:109.2xx.253.79 Maske:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

eth0:8    Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.253.69  Bcast:109.2xx.253.79 Maske:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

eth0:17   Link encap:Ethernet  Hardware Adresse 30:85:a9:42:3e:60
    inet Adresse:109.2xx.253.78  Bcast:109.2xx.253.79 Maske:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

Если я вывожу с сервера мой клиент DSL:

ping -I 109.2xx.253.78 85.212.79.23:

PING 85.212.79.23 (85.212.79.23) from 109.2xx.253.78 : 56(84) bytes of data.
64 bytes from 85.212.79.23: icmp_seq=1 ttl=59 time=13.4 ms
64 bytes from 85.212.79.23: icmp_seq=2 ttl=59 time=14.9 ms

Я получу на стороне клиента:

109.2xx.239.145 > 85.212.79.23: ICMP echo request, id 27761, seq 1, length 64
85.212.79.23 > 109.2xx.239.145: ICMP echo reply, id 27761, seq 1, length 64

а не IP-адрес, с которого я пинговал с сервера клиента.

Моя таблица маршрутизации:

Kernel-IP-Routing table:
Target           Router         Genmask         Flags Metric Ref    Use Iface
default         109.2xx.2xx.65  0.0.0.0         UG    0      0        0 eth0
109.2xx.253.0   *               255.255.255.0   U     0      0        0 eth0
109.2xx.253.64  *               255.255.255.240 U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Я хочу, чтобы, если программа (например, postfix) установила исходящий IP-адрес, этот использовался. Как мне сделать правильную таблицу маршрутизации, чтобы она работала, как я и ожидал?

Даже если на postfix я устанавливаю разные исходящие IP-адреса, используется только основной, который вообще не нужен. Та же проблема существует и для ipv6.

0 ответов

Другие вопросы по тегам