通过firewalld防火墙策略相关问题
场景
两台pc设备,两台liunx设备A,B
pc1 ip配置:192.168.11.54
pc2 IP配置:192.168.10.54
A设备两张网卡 ip配置:a:192.168.11.3 b:192.168.80.254
B设备 ip配置:192.168.80.2
已经实现全网互通,现在想要通过配置A设备防火墙,实现B设备还可以访问pc设备的网络和相关业务,pc设备不可以访问B相关,但是pc1可以请求的到B设备里面的一个端口58080.就是想要实现B可以访问全网,其他网段的访问不进来,但是想要让其他网段访问一个端口
谢谢
firewalld防火墙策略相关问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
为了解决提出的网络访问控制需求,可以通过firewalld在设备A上设置相应的规则。以下是详细的步骤和命令,用于实现B设备可以访问全网,而PC设备仅能访问B设备的58080端口。
步骤 1: 确认当前firewalld状态
首先,确认设备A上的firewalld服务是否正在运行:
sudo systemctl status firewalld
步骤 2: 配置转发链
为了允许B设备访问全网,需要在设备A上启用NAT转发。编辑
/etc/sysctl.conf
文件,添加以下行:sudo nano /etc/sysctl.conf # 在文件末尾添加: net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
步骤 3: 配置firewalld规则
允许B设备访问全网
在设备A上,创建一个新的firewalld区域,允许所有流量从B设备的网段进入,并将流量转发到相应的接口:
sudo firewall-cmd --permanent --new-zone=trusted80 sudo firewall-cmd --permanent --zone=trusted80 --add-source=192.168.80.0/24 sudo firewall-cmd --permanent --zone=trusted80 --add-interface=eth1 # 假设eth1是连接到192.168.80.0/24的接口 sudo firewall-cmd --reload
配置SNAT(源地址转换)
确保B设备的流量看起来像是从设备A发出的,以便全网可以回应到设备A:
sudo iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o eth0 -j SNAT --to-source 192.168.11.3 sudo iptables-save > /etc/sysconfig/iptables
允许PC设备访问B设备的特定端口
在设备A上,允许PC设备访问B设备的58080端口:
sudo firewall-cman --permanent --add-port=58080/tcp --source=192.168.11.0/24 sudo firewall-cmd --permanent --add-port=58080/tcp --source=192.168.10.0/24 sudo firewall-cmd --reload
步骤 4: 测试配置
测试从PC设备访问B设备的58080端口是否成功,以及B设备是否可以访问全网的资源。
以上步骤应该能够满足提出的需求,即B设备可以访问全网,而PC设备只能访问B设备的特定端口58080。如果遇到任何问题,检查每个步骤中的命令执行结果,并确保所有的网络接口名称正确无误。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 Python动态规划:图2箭头指向的代码如何理解?太抽象了
- ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
- ¥30 求给定范围的全体素数p的(p-2)的连乘积
- ¥15 VFP如何使用阿里TTS实现文字转语音?
- ¥100 需要跳转番茄畅听app的adb命令
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥50 opencv4nodejs 如何安装
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip