首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ping是否省略了iptable/ postrouting规则?

ping是否省略了iptable/ postrouting规则?
EN

Unix & Linux用户
提问于 2018-08-24 17:29:11
回答 1查看 633关注 0票数 0

我有一个带有proxmox安装的服务器,并且只有一个出站连接(eth0)。

为了使机器之间进行网络连接,我在接口配置中创建了一个网络桥(vmbr0),并相应地将其配置为Proxmox (Subpoint )。

这座桥有IP 10.1.1.1,据我理解,它是连接本地网络和广阔世界的一条通道。

为此,在服务器上实现了以下iptable策略:

代码语言:javascript
运行
复制
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  10.1.1.0/24          anywhere
ACCEPT     all  --  anywhere             10.1.1.0/24

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  10.1.1.0/24          anywhere             to:x.x.x.x

当我从安装在服务器上的vms中的一个vms使用:ping 8.8.8.8连接Google服务器时,vm能够从Google服务器获得ping结果,因此NAT似乎在工作。

( nat再次适用于整个子网(10.1.1.0/24) )

但是,如果我这样做了:主机上的ping -I vmbr0 8.8.8.8,则ping命令将失败。这个ping命令使用桥接口来平Google DNS服务器,我期望POSTROUTING策略也能使它能够与Google DNS服务器通信。

因此,简单地说,当其他客户端使用网桥作为网关时,他们可以连接到internet,但是如果选择接口本身作为输出接口,则无法找到路由。

这就引出了我的问题,就是显式地使用一个接口,以某种方式跳过postrouting规则,并且实际上被认为是在有关机器- in a sense: vmbr0 stays vmbr0 and never will be masqueraded to eth0 if you choose to ping over it -上路由的绝对端点。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-08-24 19:09:06

man ping,螺栓我的:

-I接口接口要么是地址,要么是接口名称。如果接口是地址,则将源地址设置为指定的接口地址。如果接口名中有接口,则将源接口设置为指定的接口。

问题在于强制使用ping -I vmbr0接口,而不是让系统最终选择与ping -I 10.1.1.1的正确接口。

而且,即使这与nat/POSTROUTING没有什么区别(请参阅后面的内容),您也应该明白,在主机上运行命令时并不是在路由,所以某些链(例如:filter/FORWARD)可能不适用(但nat/POSTROUTING仍然适用,请稍后参阅)。请记住,在主机上运行命令而不是路由VM时,可能会产生不同的结果,这取决于您的规则,即使这里的ping命令不是这样的。

这个Netfilter和通用网络中的分组流原理图显示,在不同的OUTPUT链被遍历到来自本地进程的数据包之后,nat/POSTROUTING仍然会被遍历,所以是的,如果您的包通过eth0,它仍然是SNATed:也就是使用ping -I 10.1.1.1 8.8.8.8

相反,当强制使用ping -I vmbr0 8.8.8.8接口时,如果在vmbr0上运行tcpdump,很可能会看到10.1.1.1到8.8.8.8之间的ARP请求,这不会得到答案。

最后一个问题是:是的,强迫路由不能让数据包到达正确的目的地。您永远不能让vmbr0被伪装,因为SNAT/伪装是在数据包的IP上完成的,而不是在接口上完成的,它的应用程序取决于它们到目的地的路由。

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

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

复制
相关文章

相似问题

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