使用 dhcpcd.conf 进行 NAT 配置?

使用 dhcpcd.conf 进行 NAT 配置?

各位超级用户大家好,

我想使用 Pi(基于 Debian)作为调制解调器/路由器后面的路由器。所有 LAN 流量都将通过 Pi 进行过滤,后面有防火墙,这里不做介绍。

因此,我有两个 LAN,一个包含我的本地机器的“内部”LAN,以及调制解调器/路由器和 Pi 路由器之间的小型 LAN。

我已经成功定义了从“内部 LAN”到 Pi 之外的“小型 LAN”的路由。我的问题是我有一个标准的 Internet 调制解调器/路由器,我无法使用“via”在其上配置路由。因此,为了解决这个限制,我想在连接到“小型 LAN”(调制解调器所在的位置)的 Pi 接口上启用 NAT 直通。

我再说一遍,在一个分支上我已经成功配置了ip route设置,而在另一个分支上我需要在 Pi 级别定义 NAT 直通。

对于 NAT,我尝试使用 ufw:

/etc/ufw/before.rules:

'# NAT 表规则

*自然

:后路由接受 [0:0]

'# 通过 eth0 转发流量 - 更改为匹配您的输出接口

-A POSTROUTING -s 192.168.xx/24 -o eth0 -j MASQUERADE

'# 不要删除 'COMMIT' 行,否则这些 nat 表规则将不会

'# 被处理

犯罪

重新启动、禁用、启用 ufw 后,出现以下错误:

“*nat” 附近的错误。

其实我不知道

-A POSTROUTING -s 192.168.xx/24 -o eth0 -j MASQUERADE

是正确的。接口链路应该路由流量,但我不知道它是源链路还是目标链路。无论如何,错误也可能发生在其他地方(*nat 附近)。

请记住,在一个方向上,即从 WAN 到 LAN,我需要转发流量。在相反方向上,我已经设置了路由(我无法使用对称路由,因为调制解调器受到限制)。

有什么想法吗?

答案1

对于地址,使用staticdhcpcd.conf 中的关键字 - 您可以指定一些静态参数,同时仍使用 DHCP,或者甚至可以指定静态 IP 地址,而无需 dhcpcd 请求 DHCP 租约。

对于 iptables,首先检查发行版是否已经有自己的规则持久性服务。例如,Archiptables.service始终加载“/etc/iptables/iptables.rules”,而 Debian 则netfilter-persistent.service加载(并保存)“/etc/iptables/rules.v4”。

如果没有这样的服务,请编写一个。在启动时甚至在 IP 配置发生之前添加这些 iptables 规则是完全可以的。

对于命令真的需要在 dhcpcd 完成后运行,否则,请使用其钩子特征。

答案2

好消息,我发现了问题。

实际上,我需要两个 COMMIT,一个用于第一条规则,另一个用于 nat 规则。

固定的。

相关内容