首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁止在Red /CentOS中使用IP网络

禁止在Red /CentOS中使用IP网络
EN

Server Fault用户
提问于 2016-08-03 21:48:29
回答 3查看 229关注 0票数 4

我有一个VPN,我的服务器经常将数据发送到通过VPN路由的私有IP地址。当OpenVPN建立或死亡时,它将启用/禁用这些路由。

我想要空路由的私有IP范围从外出的主要互联网接口(eth0)。在不干扰来自VPN软件的路由命令的情况下,有什么简单的方法可以做到吗?

伊普塔莱是不会这么做的。我试过了

代码语言:javascript
运行
复制
iptables -A OUTPUT -i eth0 -p tcp -d 192.168.0.0/16 -j REJECT

但是iptables在指定输出链中的接口时不起作用。

有谁知道是否有一种方法只将虚拟路由添加到特定接口(eth0),而不干扰可能使用该路由的其他接口?

Ps-我知道192.168.0.0/16不是可以因特网路由的,但是出于安全原因,我希望确保在另一个本地服务器或网络设备开始监听私有子网的情况下不会有任何数据泄漏。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2016-08-03 21:54:06

iptables规则中的接口规范是向后的。

你具体说明:

代码语言:javascript
运行
复制
iptables -A OUTPUT -i eth0 -p tcp -d 192.168.0.0/16 -j REJECT

使用-i匹配在命名接口上进入系统的通信量。

相反,您希望匹配在命名接口上离开系统的流量,这是用-o完成的。

代码语言:javascript
运行
复制
iptables -A OUTPUT -o eth0 -p tcp -d 192.168.0.0/16 -j REJECT

(您可能不希望-p tcp在其中,否则可能会通过非TCP通信。)

票数 5
EN

Server Fault用户

发布于 2016-08-04 01:32:03

除了Michael的答案之外,我认为应该阻止FORWARD链中的通信量,因为OUTPUT链只适用于本地生成的数据包和防火墙。据我所知,它不适用于路由数据包。

票数 2
EN

Server Fault用户

发布于 2016-08-08 23:50:01

您已经得到了使用iptables进行操作所需的答案。

如果您想在路由上这样做,一个好方法是为192.168.0.0/16创建一个路由,并让您的vpn服务器向您发送两条更具体的路由,在您的示例中,这两条路由是192.168.0.0/17和192.168.128.0/17。

/16路由将是固定的和空路由的:

代码语言:javascript
运行
复制
ip route add blackhole 192.168.0.0/16

而您的vpn服务器(或vpn-up脚本)将为您提供其他的:

代码语言:javascript
运行
复制
ip route add 192.168.0.0/17 via <VPNGW>
ip route add 192.168.128.0/17 via <VPNGW>

这实际上是def1选项在OpenVPN中所做的,以覆盖默认网关,而不影响现有路由。

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

https://serverfault.com/questions/793723

复制
相关文章

相似问题

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