Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法

firewall,cmd,启用,nat,开放,内网,机器,通过,上网,访问,外网,方法 · 浏览次数 : 194

小编点评

## Firewall-cmd 配置 NAT 开放内网机器访问外网的方法背景说明 **昨天的处置允许外部使用唯一的电信IP地址访问内部交换机的服务器。** 今天,想要让内网交换机的服务器通过能够上网的机器进行上外网的操作,可以使用以下两种方法: 1. **设置假装模式**: - `firewall-cmd --zone=public --add-masquerade#` 设置允许所有外网机器通过 53 端口访问内网。 - `firewall-cmd --zone=public --add-port=53/tcp --permanent#` 设置允许所有外网机器通过 53 端口访问内网。 2. **使用动态路由**: - `route add default gw 192.168.2.203#` 设置默认网关指向内网地址。 **但需要注意的是,使用动态路由需要配置 DNS 解析服务器地址,否则无法访问外网。** **本文展示了两种方法的比较:** | 方法 | 优点 | 缺点 | |---|---|---| | 设置假装模式 | 简单易用 | 限制外部访问,可能导致安全性问题 | | 使用动态路由 | 允许所有外网机器访问 | 需要配置 DNS 解析服务器地址 | **建议:** * 在生产环境中,使用设置假装模式,因为动态路由可能会影响性能。 * 在生产环境中,确保 DNS 解析服务器地址是可用的。 * 在使用动态路由之前,测试确保 DNS 解析正常工作。 **其他提示:** * `route -n` 命令可列出所有网关,帮助理解路由的规则。 * `route delete` 命令可删除所有网关,但请确保在执行之前备份所有配置。

正文

Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法


背景说明

昨天的处置已经可以让外部可以使用唯一的电信IP地址访问内部交换机的服务器了.
但是今天的场景是想让内网交换机的服务器通过能够上网的机器进行上外网的操作.
之前整理过很多通过apache后者是nginx的正方向代理的方式进行处理的过程.
那种的适用范围比较小, 想通过这个方式来加快处理效率

注意 此方法有内网穿透的风险, 严禁用于生产.
昨天的blog在这里也增加上注意事项与声明 !-_-!
不给钱白嫖就别用于生产. 上生产当心被雷劈. 

处理过程

firewall-cmd --permanent --zone=public --add-masquerade
# 跟昨天一样 设置假装的模式
firewall-cmd --zone=public --add-port=53/tcp --permanent
# 可以将 53端口打开. 但是我感觉打开了也没啥用..
route add default gw 192.168.2.203
# 在内网不能上网的机器上面执行这个命令. 注意 gw 后面的IP地址是 能上网的机器的内网地址.
vim /etc/resolv.conf
# 在这个文件里面增加一行: nameserver 114.114.114.114
ping 8.8.8.8
# 验证网络是否连通
ping www.baidu.com
# 验证DNS是否正常

安装部分软件验证

[root@kylinv10no1 yum.repos.d]# yum install fio -y
上次元数据过期检查:0:24:36 前,执行于 2023年05月10日 星期三 13时45分39秒。
依赖关系解决。
========================================================================================================================
 Package                                                   Architecture                                       Version   
=========================================================================================================================
安装:
 fio                                                       aarch64                                            3.7-6.ky10
安装依赖关系:
 fio-help                                                  aarch64                                            3.7-6.ky10

不设置 route的效果为:

yum install fio -y
Kylin Linux Advanced Server 10 - Os                                                                                                       
Error: Failed to download metadata for repo 'ks10-adv-os': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

route命令的学习与使用

添加默认网关
route add default gw 192.168.2.203
删除默认网关
route del default gw 192.168.2.203

效果为:
[root@kylinv10no1 deploy]# route del default gw 192.168.2.203
[root@kylinv10no1 deploy]# ping 8.8.8.8
ping: connect: 网络不可达
[root@kylinv10no1 deploy]# route add default gw 192.168.2.203
[root@kylinv10no1 deploy]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=112 time=80.0 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=112 time=82.8 ms

注意 压测时可以删掉, 需要用网络时在添加上. 

route -n
展示所有的网关. 
理论上路由的顺序是先最大化匹配开始进行. 

Windows机器的设置

route add 0.0.0.0 mask 0.0.0.0 192.168.2.203
# 这样默认网关就走 192.168.2.203了
route delete 0.0.0.0 mask 0.0.0.0 192.168.2.203
# 压测是通过这个命令执行删除就可以了

与Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法相似的内容:

Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法

Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法 背景说明 昨天的处置已经可以让外部可以使用唯一的电信IP地址访问内部交换机的服务器了. 但是今天的场景是想让内网交换机的服务器通过能够上网的机器进行上外网的操作. 之前整理过很多通过apache后者是nginx的正方向代

[转帖]centos7 firewall-cmd主机之间端口转发

目录 1. firewalld1.1 firewalld守护进程1.2 控制端口/服务1.3 伪装IP1.4 端口转发 2. 案例2.1 配置ServerA2.2 安装nginx测试 (可选)2.3 开启端口2.4 伪装IP2.5 端口转发2.6 配置ServerB2.7 修改nginx页面显示内容

[转帖]CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

https://www.cnblogs.com/hope250/p/8033818.html 自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源。而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个公网 I

ipset的学习与使用

ipset的学习与使用 场景说明 虽然可以通过: firewall-cmd --zone=trusted --add-source=$1 --permanent && firewall-cmd --reload 或者是 firewall-cmd --zone=public --add-port=$1

[转帖]Centos使用firewall封攻击IP IP段

https://bbs.qunyingkeji.com/2020/ 1.查攻击的IP 命令:netstat -an | grep tcp 2.使用firewall 封IP 示例:要封的192.191.171.0/24范围 命令: firewall-cmd --permanent --add-rich

[转帖]0.03秒引发的网络血案

https://www.jianshu.com/p/45085331b9f0 背景 用户Pike版Openstack,Firewall drivers为Openvswitch。Openstack内一租户网络下多台虚拟机中部署一K8S集群,其中Openstack下租户网络使用VxLAN,K8S集群采用

[转帖]12.计算机网络---iptables防火墙管理工具

文章目录 一.防火墙基础知识1.1 防火墙是什么?1.2 iptables基础知识1.3 netfilter和iptables的关系:1.4 新型防火墙工具:firewalld 二.iptables的四表五链2.1 规则表2.2 规则链2.3 规则表和规则链之间的关系2.4 数据报的过滤匹配流程:2

centos7 在系统防火墙放开端口

假设要在centos7 系统防火墙上开启443端口 1、查看防火墙是否开启,如果没有开启防火墙,默认开放所有端口。 systemctl start firewalld (开启防火墙,注意:如果有业务在运行,开启防火墙可能会拦截业务应用端口) systemctl stop firewalld (关闭防

防火墙设置端口转发的过程

防火墙设置端口转发的过程 背景 公司内组件了一个小型的信创实验室. 使用电信的宽带进行相关的工作. 因为只有一个ip地址, 公司内有没有硬件防火墙等软件 又想多台机器能够同时通过ssh等方式连接. 又可能会搬迁过windows的机器. 需要远程访问. 简单起见自己想到了firewalld 进行 po