【Linux相关】通过firewalld实现内网机器访问外网
一、前言
1、部署说明
因业务需求,内网机器需要访问外网在线下载软件及依赖包。
此处需要先准备一台中转机,中转机需要配置内外网卡,其中内网网卡需要能与内网机器网络互通,外网网卡需要能与外网网络互通。
中转机开启ip转发功能,内网机器请求先转发至中转机,通过中转机访问外网
2、环境说明
服务器名称 | 内网网卡 | 内网IP地址 | 外网网卡 | 外网IP地址 |
---|---|---|---|---|
中转机 | eno1 | 172.16.21.60 | eno2 | 192.168.133.253 |
内网机器 | eno1 | 172.16.21.55 | N/A | N/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"
...
三、常用操作
- 查看状态
[root@node60 ~]# firewall-cmd --state
running
- 查看当前启用的zone
[root@node60 ~]# firewall-cmd --get-active-zones
internal
interfaces: eno1
external
interfaces: eno2
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">