Centos7配置端口转发功能
配置端口转发的目的操作
将外网访问端口的流量转发到内网的端口,本篇文章使用的是阿里云服务器,将外网的30306端口流量转发到内网的3306端口
一、将端口放行,允许流量转发
//1.看下防火墙状态
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2020-09-03 14:39:14 CST; 843ms ago
Docs: man:firewalld(1)
Main PID: 31141 (firewalld)
Memory: 19.5M
CGroup: /system.slice/firewalld.service
└─31141 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Sep 03 14:39:14 pc1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 03 14:39:14 pc1 systemd[1]: Started firewalld - dynamic firewall daemon.
//2.开启端口3306 30306tcp端口监听
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=30306/tcp --permanent
//3.重新加载防火墙
firewall-cmd --reload
//4.查看端口放行(可以看到3306 30306端口已经放行)
firewall-cmd --list-port
3306/tcp 30306/tcp
//5.开启路由功能,编辑/etc/sysctl.conf,添加内容net.ipv4.ip_forward=1
//6.使参数配置生效
sysctl -p
二、伪装ip
//检查是否允许伪装IP
firewall-cmd --query-masquerade
//允许防火墙伪装IP(永久生效)
firewall-cmd --permanent --add-masquerade
//禁止防火墙伪装IP(永久生效)
firewall-cmd --permanent --remove-masquerade
//重新加载firewall
firewall-cmd --reload
三、端口转发
//将3306端口的流量转发至本机8080
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toport=8080
//将30306端口的流量转发至192.168.0.1的3306端口
firewall-cmd --permanent --add-forward-port=port=30306:proto=tcp:toaddr=将要转发到的ip地址:toport=3306
//重新加载防火墙配置
firewall-cmd --reload
命令行访问公网ip加30306端口,流量实际是被转发到了内网的3306端口。