Tôi đang cố gắng định tuyến lưu lượng giữa các mạng khác nhau và đã làm theo hướng dẫn tôi tìm thấy ở đây:
https://devconnected.com/how-to-add-route-on-linux/
Đây là một sơ đồ mà tôi hy vọng mô tả đầy đủ sự sắp xếp mà tôi đang làm việc với:
Windows 10UbuntuLinux
172.31.0.X <-----------------> 172.31.0.33 (eno1)
10.0.40.1 (enp2s0f0) <-----------------> 10.0.40.10
Tôi đã đặt một tuyến liên tục trên PC Windows để định tuyến bất kỳ lưu lượng truy cập nào cho 10.0.40.0/24 qua 172.31.0.33.
Định tuyến đầu ra In
Máy Ubuntu được thiết lập để định tuyến lưu lượng dành cho 10.0.40.0/24 đến 10.0.40.1.
đầu ra ip r
Ping 10.0.40.10 từ máy Ubuntu hoạt động như mong đợi.
Nếu tôi ping 10.0.40.10 từ PC Windows, tôi có thể thấy các thông báo ICMP đến giao diện 172.31.0.33 trên máy Ubuntu bằng tcpdump.
Tôi không thấy bất kỳ lưu lượng nào trên giao diện 10.0.40.1 trên máy đó. Có vẻ như máy Ubuntu không định tuyến lưu lượng như tôi mong đợi.
Bất cứ ai có thể làm sáng tỏ những gì tôi đã bỏ lỡ?
Thêm đầu ra của:
iptables -S
cho máy Ubuntu:
Sudo iptables -S
# Cảnh báo: có bảng iptables-legacy, hãy sử dụng iptables-legacy để xem chúng
-P CHẤP NHẬN ĐẦU VÀO
-P CHẤP NHẬN VỀ PHÍA TRƯỚC
-P CHẤP NHẬN ĐẦU RA
-A VỀ PHÍA TRƯỚC -i eno1 -j CHẤP NHẬN
-A VỀ PHÍA TRƯỚC -i enp2s0f0 -j CHẤP NHẬN
adi@LabBuildServer:~$ Sudo iptables-legacy -S
[sudo] mật khẩu cho adi:
-P CHẤP NHẬN ĐẦU VÀO
-P VỀ PHÍA TRƯỚC DROP
-P CHẤP NHẬN ĐẦU RA
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-NGƯỜI DÙNG
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN
-A FORWARD -o docker0 -j DOCKER
-A VỀ PHÍA TRƯỚC -i docker0 ! -o docker0 -j CHẤP NHẬN
-A FORWARD -i docker0 -o docker0 -j CHẤP NHẬN
-A FORWARD -o br-e925d11be2da -m conntrack --ctstate LIÊN QUAN, THÀNH LẬP -j ACCE PT
-A FORWARD -o br-e925d11be2da -j DOCKER
-MỘT PHÍA TRƯỚC -i br-e925d11be2da ! -o br-e925d11be2da -j CHẤP NHẬN
-A VỀ PHÍA TRƯỚC -i br-e925d11be2da -o br-e925d11be2da -j CHẤP NHẬN
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-e925d11be2da ! -o br-e925d11be2da -j DOCKER-IS OLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-e925d11be2da -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
Đầu ra của:
lộ trình ip
trên máy chủ Linux:
lộ trình ip
mặc định qua 10.0.40.1 dev br-POE proto tĩnh
10.0.40.0/24 dev br-POE liên kết phạm vi kernel proto src 10.0.40.10
Máy Ubuntu:
adi@LabBuildServer:~$ Sudo iptables -t nat -L
[sudo] mật khẩu cho adi:
# Cảnh báo: có bảng iptables-legacy, hãy sử dụng iptables-legacy để xem chúng
PREROUTING chuỗi (CHẤP NHẬN chính sách)
đích prot opt nguồn đích
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
Chuỗi POSTROUTING (CHẤP NHẬN chính sách)
đích prot opt nguồn đích
MASQUERADE tất cả -- mọi nơi mọi nơi
MASQUERADE tất cả -- mọi nơi mọi nơi
ĐẦU RA chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích