我正在运行具有多个网络接口的 Debian 10 服务器。我是否可以创建规则,将所有网络流量从外部(即来自网络上的其他设备)的一个接口上的一个 IP 地址路由到不在同一台机器上但在网络上其他地方的另一个 IP 地址?类似于 WAN 到 LAN 路由。
我知道如何在例如 pfSense 上做到这一点,但我对 iptables 很迷茫..
也欢迎非 iptables 解决方案。
我正在运行具有多个网络接口的 Debian 10 服务器。我是否可以创建规则,将所有网络流量从外部(即来自网络上的其他设备)的一个接口上的一个 IP 地址路由到不在同一台机器上但在网络上其他地方的另一个 IP 地址?类似于 WAN 到 LAN 路由。
我知道如何在例如 pfSense 上做到这一点,但我对 iptables 很迷茫..
也欢迎非 iptables 解决方案。
将来自外部的流量和同一机器内的接口从 IP 版本 4 和 6 的原始地址转发到另一个地址的快速示例(可能不包括原始地址上的端点和执行点现有连接的 ipsec 流量)。这也不会重定向本地执行程序生成的流量,因为您需要 OUTPUT 链。
如果您想将转发限制为仅来自外部的数据包,您必须修改规则,要么添加一个
-i interface
命名它们进入的接口,要么匹配并非源自本地地址的所有内容-m addrtype ! --src-type LOCAL
。您可以通过使用进一步排除广播和多播流量-m addrtype --dst-type UNICAST --src-type UNICAST
。您还应该检查 FORWARD 链的默认策略是否为 ACCEPT 或在该链中添加特定规则。可以使用和来转储现有的
filter
和表。如果有 DROP 策略,您可以在该表中配置 FORWARD 规则。PREROUTING/POSTROUTING 之前的意思是 Append。如果你需要插入规则,因为末尾有一个 DROP,你必须使用并在链名后面加上一个数字。nat
iptables -S -t filter
iptables -S -t nat
filter
-A
-I