Loading

Loading

【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;">

posted @ 2021-05-22 11:55  Luxf0  阅读(680)  评论(0编辑  收藏  举报