Mi sono collegato a due ISP e ho annunciato il mio spazio IP (/ 24 IPv4), quindi entrambi gli ISP indirizzano il traffico destinato alla mia sottorete al mio router (un server Linux).
Due ISP sono collegati alla diversa interfaccia sul router Linux, diciamo eth0
e eth1
.
Ora, quando ci provo ping
un indirizzo, tutto quello che ho è il timeout della richiesta. Tuttavia, facendo tcpdump
, Vedo la risposta della macchina remota, ma non sulla stessa interfaccia da cui il router Linux invia la richiesta. (inviare da eth0
, ho ricevuto risposta eth1
):
eth0:
17:11:26.136885 IP tky01.jp.nat.moe > syr.edu: ICMP echo request, id 22910, seq 1, length 64
17:11:27.139627 IP tky01.jp.nat.moe > syr.edu: ICMP echo request, id 22910, seq 2, length 64
17:11:28.163632 IP tky01.jp.nat.moe > syr.edu: ICMP echo request, id 22910, seq 3, length 64
17:11:29.187715 IP tky01.jp.nat.moe > syr.edu: ICMP echo request, id 22910, seq 4, length 64
17:11:30.211766 IP tky01.jp.nat.moe > syr.edu: ICMP echo request, id 22910, seq 5, length 64
eth1:
17:11:26.314683 IP syr.edu > tky01.jp.nat.moe: ICMP echo reply, id 22910, seq 1, length 64
17:11:27.317398 IP syr.edu > tky01.jp.nat.moe: ICMP echo reply, id 22910, seq 2, length 64
17:11:28.341461 IP syr.edu > tky01.jp.nat.moe: ICMP echo reply, id 22910, seq 3, length 64
17:11:29.365671 IP syr.edu > tky01.jp.nat.moe: ICMP echo reply, id 22910, seq 4, length 64
17:11:30.389885 IP syr.edu > tky01.jp.nat.moe: ICMP echo reply, id 22910, seq 5, length 64
Ho provato a fare il routing dei criteri:
ip rule add from x.x.x.x/24 lookup isp2 # where x.x.x.x is my subnet.
ip route add default via y.y.y.y dev eth1 table isp2 # where y.y.y.y is ISP2's gateway
Quello fa ping
funziona normalmente, ma ora qualsiasi utente sceglie di inserire il mio AS utilizzando ISP1 (eth0) non sarà in grado di raggiungere qualsiasi cosa.
Come faccio a far sapere a Linux che entrambi eth0
e eth1
puoi rispondere alla richiesta?