Am o serie de interfețe disponibile pe mașina Ubuntu 20.04. Printre alții enx0c5b8f279a64
și usb0
cu cea de mai târziu fiind folosită ca cea implicită. Vreau să mă asigur că un anumit proces început în terminal va folosi doar una dintre aceste interfețe (să zicem enx0c5b8f279a64
chiar dacă cealaltă interfață este implicită). Dacă acest proces este pornit și selectat enx0c5b8f279a64
interfața este oprită, nici măcar nu ar trebui să încerce să folosească orice altă interfață ca alternativă (ca și cum alte interfețe nici nu ar exista din perspectiva acestui proces).
cred ca ip netns
este calea de urmat, dar am probleme la implementarea oricărei soluții de lucru. Am încercat https://superuser.com/a/750412 oricum primesc Destinatie finala negasita
dacă încerc să pun ping 8.8.8.8
:(
Partea relevantă a ip a s
ieșire:
9: enx0c5b8f279a64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_code state UP group default qlen 1000
link/ether 12:12:12:12:12:12 brd ff:ff:ff:ff:ff:ff
inet 192.168.7.100/24 brd 192.168.7.255 scope global dynamic noprefixroute enx0c5b8f279a64
valid_lft 84611sec preferred_lft 84611sec
inet6 2323::2323:2323:2323:2323/64 scope link noprefixroute
valid_lft pentru totdeauna preferred_lft pentru totdeauna
10: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state NECUNOSCUT grup implicit qlen 1000
link/ether 34:34:34:34:34:34 brd ff:ff:ff:ff:ff:ff
inet 192.168.42.**47**/24 brd 192.168.42.255 scope global dynamic noprefixroute usb0
valid_lft 1858sec preferred_lft 1858sec
inet6 4545:454:545:4545:454:5454:5454:5454/64 domeniu global temporar depreciat dinamic
valid_lft 2461sec preferred_lft 0sec
inet6 5656:565:656:5656:5656:5656:5656:5656/64 domeniu global depreciat dinamic mngtmpaddr noprefixroute
valid_lft 2461sec preferred_lft 0sec
inet6 6767::6767:6767:6767:6767/64 scope link noprefixroute
valid_lft pentru totdeauna preferred_lft pentru totdeauna
și tabelul de rute:
traseul -n
Tabelul de rutare IP kernel
Destination Gateway Genmask Flags Metric Ref Utilizare Iface
0.0.0.0 192.168.7.1 0.0.0.0 UG 100 0 0 enx0c5b8f279a64
0.0.0.0 192.168.42.129 0.0.0.0 UG 101 0 0 usb0
192.168.7.0 0.0.0.0 255.255.255.0 U 100 0 0 enx0c5b8f279a64
192.168.42.0 0.0.0.0 255.255.255.0 U 101 0 0 usb0
Până acum, toate soluțiile pe care le-am încercat au început într-un mod similar:
# creați spațiu de nume
sudo ip netns adauga nspace0
# creați link
sudo ip link add veth0 tip veth peer name veth1
# muta linkul
sudo ip link set veth1 netns nspace0
# FĂ CEVA MAGIE
# (niciuna dintre soluțiile pe care am încercat să le adaptez aici nu a funcționat pentru mine până acum).
...
# rulați procesul în spațiul de nume (aici folosesc curl ca exemplu)
sudo ip netns exec nspace0 curl ifconfig.me/ip
Dar problema este MAGIE
parte. Am văzut o serie de abordări cu poduri și alte soluții de redirecționare ip. Din păcate, niciuna dintre acestea nu a funcționat pentru mine până acum și nu sunt atât de versat în rețele pentru a putea diagnostica și remedia.