Linux 服务器 Firewalld 防火墙配置端口转发
0 背景
业务应用系统的web容器无法更改IP地址,例如临时SSH端口,但是不想修改SSH配置;例如某些服务web服务需要通过公共IP进行统一访问;例如外网访问内网资源等;例如快速调整web容器的端口而不需要更改服务的任何配置等。
流量转发命令语法为:
firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
1.开启防火墙
- 初始化防火墙
systemctl status firewalld
systemctl enable firewalld
systemctl restart firewalld
systemctl status firewalld
- 查看防火墙配置端口转发之前的状态
firewall-cmd --state
firewall-cmd --list-all
- ipv4 端口转发
配置系统配置文件开启 ipv4 端口转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
- 开启 IP 伪装
firewall-cmd --add-masquerade --zone=public --permanent
firewall-cmd --reload
2.内网服务器端口转发
将 server1 10.10.7.1:111 端口 转发 至 server2 10.10.7.2:222端口
操作命令如下:
# firewall-cmd --list-all
# firewall-cmd -add-forward-port=port=111:proto=tcp:toport=222:toaddr=10.10.7.2 --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
3. 本地服务器内部端口转发
将server-1 10.10.7.1:8443端口 转发 至 server-1 10.10.7.1:443
操作命令如下:
# firewall-cmd --list-all
# firewall-cmd --add-forward-port=port=8443:proto=tcp:toport=443 --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
执行成功前,原来的浏览器地址是:https://10.10.7.1
执行成功后,新的浏览器地址是:https://10.10.7.1/accounts/login/ 和https://10.10.7.1:8433/accounts/login/
有些情况是需要加上URL后缀地址,才能访问,直接访问IP:PORT会显示禁止访问或者403等。
特殊情况说明
通过以上方法firewall-cmd配置本地端口转发,例如将server-1 10.10.7.1:8443 端口转发至 server-1 10.10.7.1:443 ,在其他机器使用浏览器或者使用curl或者wget是正常的。但是在本地服务器使用curl或者wget就是提示failed: Connection refused.
为了解决这个问题,因为firewall-cmd-not-allowing-loopback-redirect,故需要执行这个命令:
# firewall-cmd --permanent --direct --add-rule ipv4 nat OUTPUT 0 -p tcp -o lo --dport 8443 -j REDIRECT --to-ports 443
# firewall-cmd --reload
# firewall-cmd --list-all
这时候,我们看到规则没有很大变化,但是我们在本地机器执行curl或者wget已经正常显示了。
参考文章:1445918 – firewalld does not allow port forwarding on localhost
4. 删除端口转发
# firewall-cmd --list-all
移除 将本地端口8443 转发 本地端口80
# firewall-cmd --remove-forward-port=port=8443:proto=tcp:toport=443--zone=public --permanent
移除 将本地端口1111 转发10.10.7.2 的222端口
# firewall-cmd -remove-forward-port=port=111:proto=tcp:toport=222:toaddr=10.10.7.2 --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
5. 删除 IP 伪装
firewall-cmd --list-all
firewall-cmd --remove-masquerade --zone=public --permanent
firewall-cmd --reload
firewall-cmd --list-all
Linux 服务器 Firewalld 防火墙配置端口转发相关推荐
- Linux系列——VMware虚拟机配置端口转发(端口映射),实现远程访问
前言 先赞后看,此生必赚! 本文所写的远程为各个电脑在同一个网段内: 本文主要详细介绍如何远程访问虚拟机里面的项目! 机器:虚拟机(装在电脑1里).电脑1(宿主机).电脑2.电脑3.电脑4.电脑n.. ...
- linux服务器开放防火墙和端口,以及查询状态
1. 安装防火墙 安装 iptables-services : 2. 防火墙基本操作 查看版本: firewall-cmd --version 显示状态: firewall-cmd --state 查 ...
- linux服务器查看防火墙配置,linux服务器CentOS7/6查看防火墙状态及开启关闭命令...
CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样 1.关闭防火墙: systemctl stop f ...
- firewalld防火墙配置、测试服务、高级配置与IP伪装、端口转发
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Firewalld防火墙 防火墙基础 一.防火墙配置 二.使用防火墙安装http服务测试分别测试内网.外网.dmz 三.firewal ...
- firewalld防火墙配置IP伪装和端口转发
IP地址伪装和端口转发都属于NAT(网络地址转换). 地址伪装和端口转发的区别如下: IP地址伪装: 1.通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包 2.源地址更改为 ...
- centos 7的firewalld防火墙配置IP伪装和端口转发(内附配置案例)
IP地址伪装和端口转发都属于NAT(网络地址转换). 地址伪装和端口转发的区别如下: IP地址伪装: 通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包 源地址更改为其NAT ...
- firewalld防火墙配置ip地址伪装和端口转发
IP地址伪装 通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将通过的数据包的原地址更改为NAT的接口地址转发到不同步目的地.当是返回数据包是,会将目的地之修改为原始主机地址并路由. 端口 ...
- linux ftp服务器防火墙设置,【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置...
linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置 FTP服务器在与客户端通讯的过程中会用到两个端口,一个是控制端口,通常是21/tcp,一个是数据端口,运行在主动模式下的FTP服 ...
- Windows配置端口转发绕过samba 445端口限制共享linux磁盘
概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内 ...
最新文章
- 微软在.NET官网上线.NET 架构指南频道
- TPO 按主题刷题记录
- 数据科学家 数据工程师_发展数据科学家和工程师
- SPSS Statistics 24 软件安装教程
- ModelAndView详解
- 像素坐标转换实际坐标python_像素坐标转世界坐标的计算
- Pegasus读取传感器AD的值
- 单例模式只会懒汉饿汉?读完本篇让你面试疯狂加分
- 阿里云免费SSL证书申请
- python莫比乌斯内接矩形_用莫比乌斯带巧解内接矩形问题:拓扑学的用处
- mysql exists 使用的意义
- Win勒索病毒害惨中国学生!微软:最新Win10很安全
- AES算法加解密及简单图像化界面实现
- A链接点击下载不跳转页面
- 百度SEO合集 WordPress插件+seo优化插件+快速收录+网站蜘蛛
- 利用AppInventor实现登录功能(完整版)
- 如何判断投影坐标是 3 度带还是 6 度带?如何计算中央子午线经度?
- 软考中级 真题 2018年上半年 系统集成项目管理工程师 基础知识 上午试卷
- 2022年熔化焊接与热切割最新解析及熔化焊接与热切割模拟考试题
- 社区共读《Python编程从入门到实践》第三天阅读建议