技巧杂烩 · 

如何在 CentOS 7 中实现禁止公网访问并保持本地网络可用

在 CentOS 7 系统中,有时需要限制系统访问公网,但仍允许与本地网络中的设备通信。本文将介绍几种方法,包括使用防火墙、修改路由配置和禁用 DHCP,帮助您实现这一目标。


注意:本文内容由 ChatGPT 生成,虽然内容经过粗略检查和实践,但在实际操作过程中根据你的具体情况进行调整。

方法 1:使用防火墙规则限制公网访问

1.1 允许本地网络流量

最常见的做法是使用 iptables 或 firewalld 防火墙来控制流量。在此方法中,您可以允许本地网络的流量,并阻止公网的流量。假设您的本地网络是 192.168.1.0/24,以下是操作步骤。 步骤:

步骤:

 1允许本地子网流量:

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT

 1阻止所有出站流量(即阻止访问公网):

iptables -A OUTPUT -d 0.0.0.0/0 -j REJECT

 1保存防火墙规则:

service iptables save

 1重启防火墙服务以应用配置:

systemctl restart iptables

方法 2:保留默认路由,仅移除公网访问的路由

有时,您可能希望保留默认路由(确保本地网络和其他子网的通信不受影响),但是希望通过调整路由规则来禁止访问公网。在这种情况下,您可以删除默认的公网路由,或者仅通过特定的路由规则来控制流量。

步骤:

 1查看当前的路由表: 运行以下命令查看当前的路由设置: bash 复制代码

ip route show

 1删除公网路由: 如果您知道哪些路由是公网路由,可以通过 ip route del 命令删除特定的公网路由。例如:

ip route del default via 192.168.1.1

这将删除默认路由,使得系统无法通过指定的网关访问外部网络,但仍然能够访问本地网络。

 1添加静态路由(如果需要更精细的控制): 您可以添加仅允许本地网络(例如 192.168.1.0/24)的路由,而删除或忽略其他通向公网的路由。例如:

ip route add 192.168.1.0/24 via 192.168.1.1

 1保存路由配置: 为了确保修改在重启后仍然有效,您可以编辑 /etc/sysconfig/network-scripts/route-ens192 文件,并添加适当的路由设置。

 2重启网络服务: 使路由更改生效:

systemctl restart network

方法 3:配置 firewalld 防火墙允许本地网络,阻止公网访问

如果您的系统使用的是 firewalld(而不是 iptables),您可以使用 firewalld 的区域配置来允许本地网络流量,并拒绝所有其他流量。

步骤:

 1将本地网络添加到 trusted 区域:

firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent

 1在 public 区域中添加拒绝公网流量的规则:

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" destination address="0.0.0.0/0" reject' --permanent

 1重载 firewalld 配置:

firewall-cmd --reload

通过这种方式,您可以确保本地网络流量被允许,而外部互联网的访问被阻止。

方法 4:禁用 DHCP 和默认网关配置

如果您不希望系统通过 DHCP 获取公网 IP 地址和默认网关,可以选择配置静态 IP,并确保没有设置默认网关。

步骤:

 1编辑网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens192,修改 BOOTPROTO 为 static,并配置静态 IP 地址。

示例配置:

BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=  # 不设置网关

 1保存并退出配置文件

 2重启网络服务:

systemctl restart network

通过这种方法,您可以确保没有默认网关设置,从而无法访问公网,但本地网络的通信仍然正常。

总结

要在 CentOS 7 中实现 禁止公网访问并保持本地网络可用,您可以选择以下方法:

 • 防火墙配置(iptables 或 firewalld):允许本地网络流量,阻止所有外部流量。

 • 修改路由配置:保留默认路由,仅移除公网路由或添加静态路由,仅允许本地网络访问。

 • 禁用 DHCP 和默认网关配置:手动配置静态 IP 地址并确保没有默认网关,防止访问外部网络。

根据具体需求选择适合的方法,确保您的系统能够在本地网络中正常通信,同时避免不必要的公网访问。