Bạn không cần phải thiết lập ip_forward = 1
trừ khi giao diện hoạt động như một NAT cho các thiết bị khác, điều này không nên xảy ra nếu bạn thiết lập chúng như một cây cầu.
Thí dụ
Đây là thiết lập máy chủ KVM của tôi có thiết bị cầu nối br0
, với thiết bị ethernet vật lý, eth0
+ tất cả các giao diện cho khách KVM.
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.bcaec123c1e2 no eth0
vnet0
vnet1
vnet2
vnet3
vnet4
vnet5
virbr0 8000.52540003f256 yes virbr0-nic
Vì vậy những gì là sai?
Dựa trên mô tả của bạn, có vẻ như bạn không có quy tắc định tuyến để định tuyến các gói từ giao diện này sang giao diện khác.
Chủ nhà với cây cầu
$ ip route show
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.200
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
169.254.0.0/16 dev br0 scope link metric 1008
default via 192.168.1.1 dev br0
Máy chủ lưu trữ với thành viên đó là cầu nối
$ ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.218
169.254.0.0/16 dev eth0 scope link metric 1002
default via 192.168.1.1 dev eth0
Tuy nhiên, bạn có thể gặp sự cố khi trộn tap0
thiết bị và thiết bị ethernet vật lý eth0
vào cầu nối.
Chạm vào thiết bị trong cầu
Do bạn đang sử dụng thiết bị TAP, tap0
bạn có thể cần phải định cấu hình tường lửa của mình để cho phép các gói này chảy qua lại trên cầu.
Bây giờ hãy thiết lập tường lửa Linux để cho phép các gói tin tự do lưu chuyển trên các giao diện tap0 và br0 mới được tạo:
$ sudo iptables -A INPUT -i tap0 -j ACCEPT
$ sudo iptables -A INPUT -i br0 -j ACCEPT
$ sudo iptables -A FORWARD -i br0 -j ACCEPT
Người giới thiệu