người bảo trì của SMCRoute đây. Điều này chắc chắn sẽ làm việc. Chúng tôi sử dụng cách tiếp cận chính xác này, mặc dù với CTNH thực tế chứ không phải không gian tên mạng, cho các khách hàng khác nhau tại nơi làm việc.
Có một vấn đề rất giống nhau được báo cáo trong Trình theo dõi sự cố SMCRoute, điểm khác biệt duy nhất với bạn là họ chưa sử dụng NAT 1:1 với netmap (chưa).
Tôi đã quất lên một trường hợp thử nghiệm cho điều này để chuẩn bị cho bản phát hành tiếp theo (v2.5). Tôi chạy tất cả các thử nghiệm cục bộ và trong GitHub Actions (đám mây Azure) bằng cách sử dụng:
kiểm tra cd/
hủy chia sẻ -mrun ./multi.sh
Thử nghiệm có hai bộ định tuyến riêng biệt (R1 và R2) trong các không gian tên mạng chuyên dụng, với một phân đoạn mạng LAN được chia sẻ giữa chúng (192.168.0.0/24). Đằng sau mỗi bộ định tuyến là một mạng LAN riêng (10.0.0.0/24), giống nhau cho cả hai bộ định tuyến. Một giao diện (giả) bổ sung eth1 được sử dụng để định tuyến phát đa hướng từ mạng LAN dùng chung (eth0). Quy tắc NETMAP sử dụng chuỗi PREROUTING và POSTROUTING. Dịch mạng LAN riêng R1 thành 192.168.10.0/24 và mạng LAN riêng R2 thành 192.168.20.0/24. Như bạn có thể thấy bên dưới, các tuyến phát đa hướng được cài đặt trong nhân sử dụng các địa chỉ (toàn cầu) được ánh xạ 1:1.
>> Máy phát khởi động ...
R1[2811708]: Dữ liệu phát đa hướng mới từ 192.168.10.1 đến nhóm 225.1.2.3 trên VIF 1
R1[2811708]: Thêm 192.168.10.1 -> 225.1.2.3 từ VIF 1
R2[2811709]: Dữ liệu phát đa hướng mới từ 192.168.10.1 đến nhóm 225.1.2.3 trên VIF 0
R2[2811709]: Thêm 192.168.10.1 -> 225.1.2.3 từ VIF 0
R2[2811709]: Dữ liệu phát đa hướng mới từ 192.168.20.1 đến nhóm 225.1.2.3 trên VIF 1
R2[2811709]: Thêm 192.168.20.1 -> 225.1.2.3 từ VIF 1
R1[2811708]: Dữ liệu phát đa hướng mới từ 192.168.20.1 đến nhóm 225.1.2.3 trên VIF 0
R1[2811708]: Thêm 192.168.20.1 -> 225.1.2.3 từ VIF 0
>> Các tuyến phát đa hướng R1 và NAT 1:1 ...
(192.168.10.1,225.1.2.3) Iif: eth1 Oifs: eth0 Trạng thái: đã giải quyết
(192.168.20.1,225.1.2.3) Iif: eth0 Oifs: eth1 Trạng thái: đã giải quyết
Chuỗi PREROUTING (chính sách CHẤP NHẬN 5 gói, 244 byte)
pkts byte đích prot chọn không tham gia đích nguồn
0 0 NETMAP tất cả -- bất kỳ ở bất kỳ đâu 192.168.10.0/24 tới:10.0.0.0/24
Chuỗi INPUT (chính sách CHẤP NHẬN 1 gói, 84 byte)
pkts byte đích prot chọn không tham gia đích nguồn
ĐẦU RA chuỗi (chính sách CHẤP NHẬN 4 gói, 248 byte)
pkts byte đích prot chọn không tham gia đích nguồn
Chuỗi POSTROUTING (chính sách CHẤP NHẬN 2 gói, 124 byte)
pkts byte đích prot chọn không tham gia đích nguồn
2 124 NETMAP tất cả -- bất kỳ 10.0.0.0/24 nào tới:192.168.10.0/24
>> R2 multicast route và 1:1 NAT ...
(192.168.10.1,225.1.2.3) Iif: eth0 Oifs: eth1 Trạng thái: đã giải quyết
(192.168.20.1,225.1.2.3) Iif: eth1 Oifs: eth0 Trạng thái: đã giải quyết
Chuỗi PREROUTING (chính sách CHẤP NHẬN 4 gói, 204 byte)
pkts byte đích prot chọn không tham gia đích nguồn
1 84 NETMAP tất cả -- bất kỳ ở đâu 192.168.20.0/24 đến:10.0.0.0/24
Chuỗi INPUT (chính sách CHẤP NHẬN 2 gói, 168 byte)
pkts byte đích prot chọn không tham gia đích nguồn
ĐẦU RA chuỗi (chính sách CHẤP NHẬN 3 gói, 164 byte)
pkts byte đích prot chọn không tham gia đích nguồn
Chuỗi POSTROUTING (chính sách CHẤP NHẬN 1 gói, 40 byte)
pkts byte đích prot chọn không tham gia đích nguồn
2 124 NETMAP tất cả -- bất kỳ 10.0.0.0/24 nào tới:192.168.20.0/24
>> Phân tích...
1 0,000000000 0,000000000 192.168.10.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe769, seq=1/256, ttl=2
2 1.000105261 1.000105261 192.168.10.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe769, seq=2/512, ttl=2
3 1.000957268 0.000852007 192.168.20.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe76b, seq=1/256, ttl=2
4 2.024216212 1.023258944 192.168.10.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe769, seq=3/768, ttl=2
5 2.024216229 0.000000017 192.168.20.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe76b, seq=2/512, ttl=2
6 3.048426868 1.024210639 192.168.10.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe769, seq=4/1024, ttl=2
7 3.048426842 -0.000000026 192.168.20.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe76b, seq=3/768, ttl=2
8 4.072270331 1.023843489 192.168.10.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe769, seq=5/1280, ttl=2
9 4.072270458 0.000000127 192.168.20.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe76b, seq=4/1024, ttl=2
10 5.096430449 1.024159991 192.168.20.1 â 225.1.2.3 ICMP 98 Yêu cầu tiếng vọng (ping) id=0xe76b, seq=5/1280, ttl=2
=> 10 cho nhóm ff04::114, dự kiến >= 8
Có thể hơi khó đọc, bạn có thể phải tham khảo trường hợp thử nghiệm để biết chi tiết. Dù sao, tôi nhận được kết quả nhất quán trong bản dịch, mà btw là trách nhiệm của Linux chứ không phải SMCRoute, vì vậy bạn có thể gặp lỗi kernel hoặc thứ gì đó. Máy trạm cá nhân có thể có Linux Mint với nhân 5.11.0 và máy chủ phụ trợ cho Tác vụ GitHub chạy Ubuntu 20.04 LTS, nhân 5.8.0, cả hai nhân phân phối khá vá lỗi, nhưng có thể là đường cơ sở để bắt đầu?