我有两个接口eth1
和eth0
. 我希望将所有流量eth0
转发到eth1
. 我创建了一个这样的 iptable 规则:
iptables -A FORWARD -s 0/0 -i eth0 -p tcp -o eth1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
但这不起作用。这是这样做的正确方法吗?
Cre*_*eek 27
如果您尚未在内核中启用转发,请执行此操作。
打开/etc/sysctl.conf
并取消注释net.ipv4.ip_forward = 1
然后执行 $ sudo sysctl -p
将以下规则添加到 iptables
sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
所有转发的流量都将遍历 FORWARD 链。要过滤数据包,您现在必须在该链上创建规则,指定传入/传出哪个接口,而不是使用 INPUT/OUTPUT 链。
归档时间: |
|
查看次数: |
108963 次 |
最近记录: |