资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 系统运维 > 运维 > Linux

Linux 服务器 Firewalld 防火墙配置端口转发

Linux 更新时间: 发布时间: 计算机考试归档 最新发布

Linux 服务器 Firewalld 防火墙配置端口转发

Linux 服务器 Firewalld 防火墙配置端口转发

端口转发:是指传统的目标地址映射,实现外网访问内网资源

流量转发命令语法为:

firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

环境准备:

  • server1 192.168.20.3
  • server2 192.168.20.4
  • server3 192.168.20.5
1. 端口转发需求实战
  • (1)需求一:将 server1 192.168.20.3:6666 端口 转发 至 server2 192.168.20.4:22 端口

  • (2)需求二:将 server1 192.168.20.3:9999 端口 转发 至 server3 192.168.20.5:80 端口

  • (3)需求三:将 server1 192.168.20.3:8888 端口 转发 至 server1 192.168.20.3:80 端口
    注意:(本地端口转发/映射)
    原来,浏览器访问 http://192.168.20.5/ ,http 协议默认是 80 端口
    现在,做端口转发,把 80 端口映射到 8888 端口
    浏览器访问 http://192.168.20.5:8888/ 即可实现访问 80 端口同样的功能
    无需放行 80、8888 端口,相当于把访问 80 端口的流量转发到 8888 端口上

1.0 系统配置文件开启 ipv4 端口转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
1.1 开启防火墙 1.1.1 初始化防火墙
systemctl status firewalld
systemctl enable firewalld
systemctl restart firewalld
systemctl status firewalld
1.1.2 查看防火墙配置端口转发之前的状态
firewall-cmd --state
firewall-cmd --list-all
1.2 开启 IP 伪装
firewall-cmd --add-masquerade --zone=public --permanent
firewall-cmd --reload
1.3 添加端口转发

注意:
在 server-1 192.168.20.3 操作

1.3.1 需求一(内网服务器之间端口转发)

将本地的 192.168.20.3:6666 端口 转发 至 192.168.20.4:22 端口

  • 具体操作
firewall-cmd --list-all
firewall-cmd --add-forward-port=port=6666:proto=tcp:toport=22:toaddr=192.168.20.4 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
  • 端口测试

原来,是用 ssh 连接 server-2 192.168.20.4 的 22 端口

ssh root@192.168.20.4

现在,通过 ssh 远程 server-1 192.168.20.3 的 6666 端口,连接 server-2 192.168.20.4

ssh -p 6666 root@192.168.20.3

所以,通过 Firewalld 防火墙可以实现内网服务器 ssh 远程 端口 转发

1.3.2 需求二(内网服务器之间端口转发)

将本地 192.168.20.3:9999 端口 转发 至 192.168.20.5:80 端口

  • 具体操作
firewall-cmd --list-all
firewall-cmd --add-forward-port=port=9999:proto=tcp:toport=80:toaddr=192.168.20.5 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
  • 端口测试

原来,浏览器访问 server-3 192.168.20.5 的 80 端口
http://192.168.20.5/

配置端口转发后,浏览器访问 server-1 192.168.20.3 的 9999 端口
http://192.168.20.3:9999/

所以,通过 Firewalld 防火墙可以实现内网服务器 web 服务 端口 转发

1.3.3 需求三(本地服务器内部端口转发)

将本地 192.168.20.3:8888 端口 转发 至 server-1 192.168.20.3:80 端口

  • 具体操作
firewall-cmd --list-all
firewall-cmd --add-forward-port=port=8888:proto=tcp:toport=80:toaddr=192.168.20.3 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all

由于是服务器内部,所以又可以简写一下

firewall-cmd --list-all
firewall-cmd --add-forward-port=port=8888:proto=tcp:toport=80 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
  • 端口测试

原来,浏览器访问 server-3 192.168.20.3 的 80 端口
http://192.168.20.3/

配置端口转发后,浏览器访问 server-1 192.168.20.3 的 8888 端口
http://192.168.20.3:8888/

所以,通过 Firewalld 防火墙可以实现本地服务器 web 服务 端口 转发

1.4 删除端口转发
firewall-cmd --list-all
firewall-cmd --remove-forward-port=port=6666:proto=tcp:toport=22:toaddr=192.168.20.4 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --list-all
firewall-cmd --remove-forward-port=port=9999:proto=tcp:toport=80:toaddr=192.168.20.5 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --list-all
firewall-cmd --remove-forward-port=port=8888:proto=tcp:toport=80:toaddr=192.168.20.3 --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
1.5 删除 IP 伪装
firewall-cmd --list-all
firewall-cmd --remove-masquerade --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all

至此,本文结束!你学会了没?

我们下期见,拜拜!

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/939265.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Linux 服务器 Firewalld 防火墙配置端口转发】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2