Điểm:1

Tại sao lưu lượng truy cập được định tuyến giữa các thiết bị veth khác nhau?

lá cờ ua

Tôi gặp sự cố: có đường dẫn không mong muốn giữa các thiết bị mạng ảo.

Hãy tạo hai cặp thiết bị veth-peer độc lập:

$ liên kết sudo ip thêm veth0 gõ veth tên ngang hàng ngang hàng0
$ liên kết sudo ip thêm veth1 gõ tên veth ngang hàng ngang hàng1

Gán địa chỉ cho các thiết bị ngang hàng:

$ sudo ip addr thêm ab:: dev ngang hàng0
$ sudo ip addr thêm cd :: dev ngang hàng1

Thiết lập tất cả các thiết bị:

$ liên kết ip sudo thiết lập dev veth0 lên
$ liên kết ip sudo thiết lập dev veth1 lên
$ sudo ip link set dev peer1 up
$ liên kết ip sudo thiết lập dev peer0 lên

Kiểm tra các thiết bị:

$ip một
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    inet6 ::1/128 máy chủ phạm vi
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái fq_codel LÊN nhóm mặc định qlen 1000
    liên kết/ether 02:82:b2:df:b0:58 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 phạm vi động toàn cầu enp0s3
       hợp lệ_lft 84429sec ưa thích_lft 84429sec
    liên kết phạm vi inet6 fe80::82:b2ff:fedf:b058/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
3: peer0@veth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc noqueue UP nhóm mặc định qlen 1000
    liên kết/ether 6e:8d:c0:7c:02:9c brd ff:ff:ff:ff:ff:ff
    inet6 ab::/128 phạm vi toàn cầu
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    liên kết phạm vi inet6 fe80::6c8d:c0ff:fe7c:29c/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
4: veth0@peer0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc noqueue UP nhóm mặc định qlen 1000
    liên kết/ether 4e:43:26:75:10:11 brd ff:ff:ff:ff:ff:ff
    liên kết phạm vi inet6 fe80::4c43:26ff:fe75:1011/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
5: peer1@veth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái noqueue nhóm LÊN mặc định qlen 1000
    liên kết/ether ea:8c:82:e6:2e:a9 brd ff:ff:ff:ff:ff:ff
    inet6 cd::/128 phạm vi toàn cầu
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    liên kết phạm vi inet6 fe80::e88c:82ff:fee6:2ea9/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
6: veth1@peer1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái noqueue nhóm LÊN mặc định qlen 1000
    liên kết/ether da:5a:68:b1:e8:43 brd ff:ff:ff:ff:ff:ff
    liên kết phạm vi inet6 fe80::d85a:68ff:feb1:e843/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi

và các tuyến đường:

$ ip r
mặc định qua 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 số liệu 100
10.0.2.0/24 dev enp0s3 liên kết phạm vi kernel proto src 10.0.2.15
10.0.2.2 dev enp0s3 liên kết phạm vi proto dhcp src 10.0.2.15 số liệu 100

Bây giờ hãy nghe peer0 trên cổng UDP 2000:

$ nc -u -6 -l ab:: 2000

Và gửi gói qua peer1:

$ echo -n abc nc -u -6 -s cd:: ab:: 2000

Và lắng nghe nc bản in abc! Nhưng mà tại sao? ngang hàng0ngang hàng1 không được kết nối theo bất kỳ cách nào. Nếu tôi hiểu đúng, lắng nghe nc nên liên kết với ngang hàng0 và gửi nc nên liên kết với ngang hàng1.

Điểm:1
lá cờ cl
A.B

ngang hàng0 và ngang hàng1 không được kết nối theo bất kỳ cách nào.

Chúng đều là các giao diện thuộc hệ thống nên chúng được kết nối với hệ thống. Định tuyến xảy ra trên hệ thống.Hệ thống sẽ giao tiếp trực tiếp giữa các địa chỉ thuộc về chính nó mà không định tuyến các gói bên ngoài, tức là không gửi các gói thông qua giao diện veth mà bằng cách sử dụng giao diện loopback của nó (nhà phát triển phía dưới):

# lộ trình ip đi từ cd:: đến ab::
local ab:: from cd:: dev lo table local proto kernel src ab:: metric 0 pref medium

Ngoài ra, nó không giúp ích nhiều ở đây, nhưng khi hiển thị các tuyến đường không có bất kỳ giá trị IPv6 nào để gợi ý IPv6, -6 phải được cung cấp hoặc nó mặc định là IPv4.

# ip -6 lộ trình
ab:: dev peer0 proto kernel metric 256 pref medium
cd:: dev peer1 proto kernel metric 256 pref medium
fe80::/64 dev peer1 proto kernel metric 256 pref medium
fe80::/64 dev veth1 proto kernel metric 256 pref medium
fe80::/64 dev peer0 proto kernel metric 256 pref medium
fe80::/64 dev veth0 proto kernel metric 256 pref medium
# ip -6 lộ trình hiển thị bảng cục bộ
local ::1 dev lo proto kernel metric 0 pref medium
local fe80::4c43:26ff:fe75:1011 dev veth0 proto kernel metric 0 pref medium
local fe80::6c8d:c0ff:fe7c:29c dev peer0 proto kernel metric 0 pref medium
local fe80::d85a:68ff:feb1:e843 dev veth1 proto kernel metric 0 pref medium
local fe80::e88c:82ff:fee6:2ea9 dev peer1 proto kernel metric 0 pref medium
multicast ff00::/8 dev veth1 proto kernel metric 256 pref medium
multicast ff00::/8 dev peer1 proto kernel metric 256 pref medium
multicast ff00::/8 dev veth0 proto kernel metric 256 pref medium
multicast ff00::/8 dev peer0 proto kernel metric 256 pref medium
lá cờ ua
Cám ơn. Vì vậy, để cách ly chúng, tôi phải sử dụng các không gian tên mạng riêng biệt?
A.B avatar
lá cờ cl
A.B
Tôi không biết chính xác bạn định làm gì và tại sao lại có hai cặp giao diện veth thay vì chỉ một cặp, nhưng vâng, công dụng chính của giao diện veth là trên các không gian tên mạng (có những cách sử dụng khác ít phổ biến hơn trong cùng một không gian tên khi cũng sử dụng một cây cầu).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.