Điểm:0

Định tuyến không hoạt động bình thường khi hai NIC được kết nối

lá cờ jp

Chúng tôi đang chạy một máy chủ có thẻ Gigabit Ethernet PCIe 2 cổng NetXtreme BCM5720. Cái này có hai cổng, mỗi cổng ánh xạ tới các tên logic và id vật lý khác nhau;

sudo lshw -mạng lớp
  * -mạng: 0               
       Mô tả: Giao diện Ethernet
       sản phẩm: NetXtreme BCM5720 2 cổng Gigabit Ethernet PCIe
       nhà cung cấp: Broadcom Inc. và các công ty con
       id vật lý: 0
       thông tin xe buýt: pci@0000:04:00.0
       tên logic: eno1
       phiên bản: 00
       nối tiếp: b8:cb:29:97:26:61
       kích thước: 1Gbit/s
       dung lượng: 1Gbit/s
       chiều rộng: 64 bit
       xung nhịp: 33MHz
       khả năng: pm vpd msi msix pciexpress bus_master cap_list rom ethernet vật lý tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       cấu hình: autonegotiation=on Broadcast=yes driver=tg3 driverversion=3.137 duplex=full firmware=FFV21.81.3 bc 5720-v1.39 ip=192.168.1.211 lag=0 link=yes multicast=yes port=twisted pair speed=1Gbit/ S
       tài nguyên: bộ nhớ irq:17:91930000-9193ffff bộ nhớ:91940000-9194ffff bộ nhớ:91950000-9195ffff bộ nhớ:91d00000-91d3ffff
  *-mạng: 1
       Mô tả: Giao diện Ethernet
       sản phẩm: NetXtreme BCM5720 2 cổng Gigabit Ethernet PCIe
       nhà cung cấp: Broadcom Inc. và các công ty con
       id vật lý: 0,1
       thông tin xe buýt: pci@0000:04:00.1
       tên logic: eno2
       phiên bản: 00
       nối tiếp: b8:cb:29:97:26:62
       kích thước: 1Gbit/s
       dung lượng: 1Gbit/s
       chiều rộng: 64 bit
       xung nhịp: 33MHz
       khả năng: pm vpd msi msix pciexpress bus_master cap_list rom ethernet vật lý tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       cấu hình: autonegotiation=on Broadcast=yes driver=tg3 driverversion=3.137 duplex=full firmware=FFV21.81.3 bc 5720-v1.39 ip=192.168.3.201 lag=0 link=yes multicast=yes port=twisted pair speed=1Gbit/ S
       tài nguyên: bộ nhớ irq: 18: bộ nhớ 91900000-9190ffff: bộ nhớ 91910000-9191ffff: bộ nhớ 91920000-9192ffff: 91d40000-91d7ffff

Như được hiển thị bởi đầu ra, chúng được cấp IP trên các mạng con khác nhau.

Mạng con 192.168.3 hướng ra ngoài, trong khi 192.168.1 chỉ hướng vào bên trong. Chúng tôi đã định cấu hình chuyển tiếp cổng trong bộ định tuyến của mình sao cho lưu lượng truy cập vào cổng 80 và 443 chuyển sang 192.168.3.201 Mục đích là để chạy các ứng dụng web trên máy chủ đó, trong khi để mở ssh trên mạng nội bộ để bảo trì.

Điều này hoạt động ... một phần

Để kiểm tra, chúng tôi chạy hình ảnh docker nginx mặc định

docker run -d -p 192.168.3.201:80:80 -p 192.168.3.201:443:443 --restart=unless-stopped nginx:latest

Ban đầu, chúng tôi KHÔNG thể truy cập giao diện web từ bên ngoài. Tuy nhiên, nếu chúng tôi kéo cáp ethernet đến eno0, nó đột nhiên hoạt động. Điều thực sự làm tôi bối rối là nó thực sự tiếp tục hoạt động khi cắm lại eno0.

Điều này có khả năng tái sản xuất cao. Sau khi khởi động lại hệ thống, nó không hoạt động, nhưng rút/cắm lại eno0 và nó đột nhiên hoạt động trở lại.

Chúng ta đang thiếu gì?

Thêm đầu ra của tuyến ip theo đề xuất của JFL; tại rebbot;

mặc định qua 192.168.1.1 dev eno1 proto dhcp src 192.168.1.211 số liệu 100 
mặc định qua 192.168.3.1 dev eno2 proto dhcp src 192.168.3.201 số liệu 100 
172.17.0.0/16 liên kết phạm vi dev docker0 proto kernel src 172.17.0.1 
192.168.1.0/24 dev eno1 liên kết phạm vi kernel proto src 192.168.1.211 
192.168.1.1 dev eno1 liên kết phạm vi proto dhcp src 192.168.1.211 số liệu 100 
192.168.3.0/24 dev eno2 liên kết phạm vi kernel proto src 192.168.3.201 
192.168.3.1 dev eno2 liên kết phạm vi proto dhcp src 192.168.3.201 số liệu 100 

Khi rút eno0;

mặc định qua 192.168.3.1 dev eno2 proto dhcp src 192.168.3.201 số liệu 100 
172.17.0.0/16 liên kết phạm vi dev docker0 proto kernel src 172.17.0.1 
192.168.3.0/24 dev eno2 liên kết phạm vi kernel proto src 192.168.3.201 
192.168.3.1 dev eno2 liên kết phạm vi proto dhcp src 192.168.3.201 số liệu 100 

Sau khi cắm lại eno0

mặc định qua 192.168.3.1 dev eno2 proto dhcp src 192.168.3.201 số liệu 100 
mặc định qua 192.168.1.1 dev eno1 proto dhcp src 192.168.1.211 số liệu 100 
172.17.0.0/16 liên kết phạm vi dev docker0 proto kernel src 172.17.0.1 
192.168.1.0/24 dev eno1 liên kết phạm vi kernel proto src 192.168.1.211 
192.168.1.1 dev eno1 liên kết phạm vi proto dhcp src 192.168.1.211 số liệu 100 
192.168.3.0/24 dev eno2 liên kết phạm vi kernel proto src 192.168.3.201 
192.168.3.1 dev eno2 liên kết phạm vi proto dhcp src 192.168.3.201 số liệu 100 
JFL avatar
lá cờ pk
JFL
Bạn có thể thêm đầu ra của "ip route" trước và sau khi rút/cắm lại không?
Điểm:0
lá cờ pk
JFL

vấn đề của bạn là bạn đã định cấu hình một cổng trên cả hai giao diện, như được hiển thị bởi:

mặc định qua 192.168.1.1 dev eno1 proto dhcp src 192.168.1.211 số liệu 100 
mặc định qua 192.168.3.1 dev eno2 proto dhcp src 192.168.3.201 số liệu 100

Cả hai đều có cùng số liệu nên hệ thống phải chọn một. Lựa chọn này được thực hiện như thế nào tùy thuộc vào hệ điều hành được sử dụng.

Bất kể hệ điều hành của bạn sử dụng tiêu chí nào, nó sẽ chọn tuyến đi ra ngoài giao diện eno1 khi khởi động, vì vậy lưu lượng không được gửi tới Internet.

Khi bạn rút phích cắm của NIC, chỉ còn một cổng (cổng chính xác), vì vậy nó hoạt động.

Thực tế là nó vẫn hoạt động sau khi bạn cắm lại eno1 cho thấy hệ điều hành của bạn có thể sử dụng tuyến đường "cũ nhất" (bạn có thể thấy thứ tự của hai tuyến đường đó bị đảo ngược sau khi cắm lại).

Để khắc phục điều này, bạn cần xóa cổng mặc định trên NIC nội bộ và nếu cần, hãy thay thế cổng đó bằng các tuyến đến mạng nội bộ của bạn. Nếu bạn không có bất kỳ mạng nội bộ nào khác ngoài 192.168.1.X/X thì bạn không cần các tuyến đó.

Vì bạn đang sử dụng DHCP nên bạn cần xóa cài đặt "bộ định tuyến" khỏi phạm vi 192.168.3.X/X hoặc sử dụng địa chỉ IP tĩnh thay thế (nếu bạn cần để tùy chọn bộ định tuyến cho các máy chủ khác).

Đă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.