Tôi có sẵn một số giao diện trên máy Ubuntu 20.04. Trong số những người khác enx0c5b8f279a64
và usb0
với cái sau được sử dụng làm cái mặc định. Tôi muốn đảm bảo rằng một quy trình cụ thể được bắt đầu trong thiết bị đầu cuối sẽ chỉ sử dụng một trong các giao diện này (giả sử enx0c5b8f279a64
ngay cả khi giao diện khác là mặc định). Nếu quá trình này được bắt đầu và được chọn enx0c5b8f279a64
giao diện không hoạt động, thậm chí không nên cố gắng sử dụng bất kỳ giao diện nào khác làm dự phòng (như thể các giao diện khác thậm chí sẽ không tồn tại từ quan điểm của quá trình này).
tôi nghĩ vậy mạng ip
là cách để đi, nhưng tôi gặp khó khăn khi triển khai bất kỳ giải pháp hiệu quả nào. Tôi đã thử https://superuser.com/a/750412 tuy nhiên tôi đang nhận được Máy chủ đích không thể truy cập
nếu tôi cố gắng ping 8.8.8.8
:(
Phần liên quan của ip a s
đầu ra:
9: enx0c5b8f279a64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái fq_codel UP nhóm mặc định qlen 1000
liên kết/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 phạm vi toàn cầu động noprefixroute enx0c5b8f279a64
hợp lệ_lft 84611sec ưa thích_lft 84611sec
inet6 2323::2323:2323:2323:2323/64 liên kết phạm vi noprefixroute
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
10: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc fq_codel nhóm UNKNOWN mặc định qlen 1000
liên kết/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 phạm vi toàn cầu động noprefixroute usb0
hợp lệ_lft 1858 giây ưa thích_lft 1858 giây
inet6 4545:454:545:4545:454:5454:5454:5454/64 phạm vi toàn cầu động tạm thời không dùng nữa
hợp lệ_lft 2461 giây ưa thích_lft 0 giây
inet6 5656:565:656:5656:5656:5656:5656:5656/64 phạm vi toàn cầu động mngtmpaddr noprefixroute không dùng nữa
hợp lệ_lft 2461 giây ưa thích_lft 0 giây
inet6 6767::6767:6767:6767:6767/64 liên kết phạm vi noprefixroute
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
và bảng lộ trình:
tuyến đường -n
Bảng định tuyến IP hạt nhân
Cổng đích Genmask Flag Metric Ref Sử dụng 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
Cho đến nay, tất cả các giải pháp mà tôi đã thử bắt đầu theo cách tương tự:
# tạo không gian tên
sudo ip netns add nspace0
# tạo đường link
Sudo ip link thêm veth0 gõ veth tên ngang hàng veth1
# di chuyển liên kết
Sudo ip link set veth1 netns nspace0
# LÀM MỘT SỐ PHÉP THUẬT
# (không có giải pháp nào mà tôi đã cố gắng điều chỉnh ở đây hiệu quả với tôi cho đến nay).
...
# chạy tiến trình trong không gian tên (ở đây tôi sử dụng curl làm ví dụ)
sudo ip netns exec nspace0 curl ifconfig.me/ip
Nhưng vấn đề là MA THUẬT
phần. Tôi đã thấy một số cách tiếp cận với cầu nối và các giải pháp chuyển tiếp ip khác. Thật không may, không có cái nào trong số này hoạt động với tôi cho đến nay và tôi không thành thạo về mạng để có thể chẩn đoán và khắc phục.