【服务部署】通过firewalld实现内网机器访问外网

一、前言

1、部署说明

因业务需求,内网机器需要访问外网在线下载软件及依赖包。
此处需要先准备一台中转机,中转机需要配置内外网卡,其中内网网卡需要能与内网机器网络互通,外网网卡需要能与外网网络互通。
中转机开启ip转发功能,内网机器请求先转发至中转机,通过中转机访问外网

2、环境说明

服务器名称内网网卡内网IP地址外网网卡外网IP地址
中转机eno1172.16.21.60eno2192.168.133.253
内网机器eno1172.16.21.55N/AN/A

二、部署配置

1、中转机配置

  • 启用ip转发功能
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
  • 设置外网网卡所在zone
firewall-cmd --permanent --zone=external --change-interface=eno2
firewall-cmd --zone=external --list-all
  • 设置内网网卡所在zone
firewall-cmd --permanent --zone=internal --change-interface=eno1
firewall-cmd --zone=internal --list-all
  • 重载firewalld使配置生效
firewall-cmd --complete-reload

2、内网机器配置

  • 设置内网网关为中转机IP地址,此时内网机器即可访问外网
[root@node59 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno1
...
IPADDR="172.16.21.59"
NETMASK="255.255.255.0"
GATEWAY="172.16.21.60"
...

三、常用操作

  • 查看状态: firewall-cmd --state
[root@racknerd-571582 ~]# firewall-cmd --state
running
  • 查看当前启用的zone: firewall-cmd --get-active-zones
[root@racknerd-571582 ~]# firewall-cmd --get-active-zones
public
interfaces: eth0
  • 查看当前开放端口: firewall-cmd --zone={zone-name} --list-ports
[root@racknerd-571582 ~]# firewall-cmd --zone=public --list-ports
62023/tcp 62023/udp 62000/tcp 62000/udp 12559/tcp 12559/udp 18000/tcp 18000/udp 15268/tcp 15268/udp 16388/tcp 16388/udp 15730/tcp 15730/udp 17425/tcp 17425/udp 
  • 查看当前开放服务 firewall-cmd --get-services
  • 开放指定端口: firewall-cmd --zone=public --add-port={port}/{tcp/udp} --permanent注:添加permanent永久生效,没有此参数重启后失效;每次修改firewall规则之后,都需要重新加载firewall-cmd --reload
[root@racknerd-571582 ~]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
success
[root@racknerd-571582 ~]# firewall-cmd --reload
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值