Am două interfețe pe mașina server. Ieșirea de ruta ip
este urmatorul:
implicit prin 192.168.100.1 dev enp1s0 proto metric static 100
10.8.0.0/24 dev tap0 proto kernel scope link src 10.8.0.1
192.168.100.0/24 dev enp1s0 proto kernel scope link src 192.168.100.201 metric 100
și adresa IP
este următorul (MAC-urile sunt ascunse):
...
1: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/eter **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 192.168.100.201/24 brd 192.168.100.255 scope global noprefixroute enp1s0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::1409:66c6:eb0d:22a1/64 scope link noprefixroute
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state NECUNOSCUT grup implicit qlen 100
link/eter **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 10.8.0.1/24 brd 10.8.0.255 scope global tap0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::85:5fff:fe98:6cb7/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
The /proc/sys/net/ipv4/ip_forward
valoarea este 1; firewall-ul este dezactivat.
Ceea ce vreau este să accesez 192.168.100.1 din 10.8.0.100. Accesarea serverului web (care ascultă toate porturile de pe această mașină) prin curl --interfață 10.8.0.100 http://10.8.0.1
Merge bine. Dar curl --interfață 10.8.0.100 http://192.168.100.201
ieșirea este Rețeaua inaccesibilă
.
Curl inițiază o strângere de mână tcp și împinge pachetul la 10.8.0.100 interfață. Pachetul ajunge apoi la serverul pornit 10.8.0.1. Serverul se uită în pachetul de destinație și vede că este 192.168.100.201. Apoi se uită în tabelul de rutare și vede asta 192.168.100.201 este local.
Acum răspunsul se întoarce. Expeditorul a fost 10.8.0.100. Privind la tabelul de rutare, putem constata că este accesibil prin intermediul atinge 0
, care este local. Deci acum împinge în atinge 0
și ajunge la 10.8.0.100.
Dar de fapt - nu este. Să fie asta pentru că gândurile mele sunt greșite? Am crezut că informațiile furnizate de tabelul descris sunt suficiente pentru a determina cum să trimită pachetele. Este chiar acesta incomplet?