首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iptables转发从/到有线的流量

iptables转发从/到有线的流量
EN

Unix & Linux用户
提问于 2022-01-06 21:01:36
回答 1查看 3.2K关注 0票数 1

请考虑以下设置。我有一个VPS连接到互联网,有一个固定的IP。此外,在我的家庭网络中,在NAT路由器后面,我确实有我的家庭网络和几个主机。我的家庭网络使用网络192.168.1.0/24,而在Host1上,我已经配置了一个Wireguard到我的VPS。在此VPN中,VPS使用IP 192.168.10.1,Host1使用IP 192.168.10.2。从VPS,我可以在我的家庭网络平主机,反之亦然,这是很好的工作。

接下来,我想从VPS访问我的家庭网络。为此,我在VPS上添加了一条路线如下

ip route add 192.168.1.0/24 via 192.168.10.2 dev wg0

我的想法是,我可以访问不同的主机在我的家庭网络从VPS。但是,我知道我需要启用Host1上的IP转发,我这样做了如下:

iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE

我还配置了net.ipv4.ip_forward = 1。有了这两种配置,我就可以通过VPS在我的家庭网络中平平任何主机。然而,我在我的家庭网络中有一个web服务器,当我试图访问我的VPS上的那个服务器时,我会得到no route to host,即使我可以平分web服务器。我在我的家庭网络中在Host1上运行了Host1,并看到了错误消息admin prohibited filter,因此,与ICMP相比,似乎没有正确地转发HTTP流量。那么,我需要如何配置iptables才能访问VPS上家庭网络中的web服务器呢?我想我也需要加入NAT,但我不确定怎么做。

EN

回答 1

Unix & Linux用户

发布于 2022-01-24 18:45:44

您肯定缺少了服务器的密钥路由配置中的其他WireGuard条目。

服务器的WireGuard层必须知道对等匹配是什么,例如IP地址192.168.0.42。为此,它检查是否有一个具有正确AllowedIPs条目的对等程序。有一个对等点定义了,它当然有这样的条目:

代码语言:javascript
复制
AllowedIPs = 192.168.10.2

这和192.168.0.42不匹配。通过WireGuard接口发送到192.168.0.42的数据包被丢弃。

因此,每当通过WireGuard接口向服务器添加其他路由(通常不像客户端那样使用AllowedIPs = 0.0.0/0/0 )时,就有可能(其中之一)它的AllowedIPs条目也必须相应更改。在这种情况下,应该有:

代码语言:javascript
复制
 AllowedIPs = 192.168.10.2, 192.168.1.0/24

这将使目的地与正确的出口对等点相关联,并验证从该对等点接收到的数据包以供入口。

iptables似乎与问题无关。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/685379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档