基于firewalld的共享上网

本文提供了一套详细的步骤,用于在服务端开启防火墙并设置共享上网功能,包括启动firewalld服务、添加伪装规则,以及在客户端配置网络参数、重启网卡和测试连通性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 开启防火墙(服务端)
# systemctl start firewalld.service
2. 一条命令开启共享上网(服务端)
# firewall-cmd --add-masquerade
3. 客户端将默认网关指向—> 能上网的地址(客户端)
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
	IPADDR=172.16.1.7
	GATEWAY=172.16.1.61
	DNS1=223.5.5.5
	PREFIX=24
4. 关闭eth0(客户端)
# ifdown eth0
5.重启网卡(eth1)(客户端)
# ifdown eth1 && ifup eth1
6. 测试(客户端)
# ping baidu.com
	PING baidu.com (39.156.69.79) 56(84) bytes of data.
	64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=127 time=6.05 ms
	64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=127 time=12.2 ms
### Firewalld与Iptables的关系 Firewalld 和 Iptables 都用于管理 Linux 系统上的网络流量过滤。然而,在 CentOS 7 中,firewalld 成为了默认的动态防火墙守护进程[^2]。这意味着 firewalld 使用 iptables 来设置规则,但提供了更高级别的接口来简化这些操作。 #### 主要区别 - **实时配置**:Firewalld 支持运行时和永久性的更改,允许在网络连接期间调整策略而不重启服务。 - **区域概念**:引入了基于不同信任级别的多个区域(zone),使得定义复杂的访问控制更加直观。 - **命令工具差异**:虽然两者都可以通过命令行进行配置,但是使用的语法有所不同。对于 firewalld 而言,主要使用 `firewall-cmd` 工具来进行交互式管理和脚本化部署[^3]。 ### 如何配置端口转发或开放特定端口 当需要打开一个新的 TCP 或 UDP 端口范围时,可以按照如下方式执行: ```bash # 添加并保存新端口到公共区 firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp # 刷新配置使变更生效 firewall-cmd --reload ``` 验证已添加成功的端口号可以通过下面这条指令完成: ```bash firewall-cmd --zone=public --list-ports ``` 如果之后想要移除之前增加过的端口,则可采取以下措施: ```bash # 移除指定端口映射关系 firewall-cmd --zone=public --remove-port=8080-8081/tcp # 应用最新改动 firewall-cmd --reload ``` 以上过程展示了如何利用 firewalld 的特性轻松实现对入站流量的安全管控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值