**使用了微信截图,所以图片带了微信公众号水印
使用场景:
1、在部分生产环境中,服务需要临时使用,但是不想重新申请端口开放,可以利用现有已经开放的端口,进行流量转发。
2、对外服务器的部分业务只对内网网段开放访问,外网网段无法访问,需要Linux服务器流量转发,远程登录到内网windows电脑。再从windows电脑访问。
原理:运用到firewalld的 --add-forward-port 命令
拓扑图如下:PC2无法直接访问PC1
PC2:Windows 10
Server:CentOS 7
PC1:Windows 7
实验效果:
1、PC2通过mstsc,访问192.168.22.145:111。实现访问PC1的远程桌面
2、Server的ssh端口为22,PC2通过访问Server的2222端口实现ssh登录
1、确认防火墙状态正常
systemctl enable firewalld //开启防火墙
systemctl restart firewalld //重启防火墙
systemctl status firewalld //查看防火墙状态
2、开启端口转发和IP伪装
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
/etc/sysctl.conf文件是用来配置Linux系统内核参数的文件。通过这个文件,可以修改系统的网络参数、内存管理、文件系统以及其他一些系统参数。这些参数可以通过修改/etc/sysctl.conf文件来实现系统性能的调优和优化。每次修改,都需要执行sysctl -p命令使配置生效。
3、确认转发的端口已经开启
firewall-cmd --list-ports
4-1、配置Server流量转发到PC2
firewall-cmd --add-forward-port=port=111:proto=tcp:toport=3389:toaddr=192.168.10.128 --permanent
//命令详解:firewalld-cmd --add-forward-port=port=源端口号:proto=协议:toport=目标端口号:toaddr=目标IP地址 --permanent
# firewall-cmd --reload //重启firewalld
# firewall-cmd --list-all //查看所有转发列表
4-2 配置Server端口转发2222到22
firewall-cmd --add-forward-port=port=2222:proto=tcp:toport=22 --permanent
5-1、测试登录效果
从PC2通过远程桌面访问server的11端口,流量转发到PC1的3389登录。PC1的事件查看器查看登录事件,显示为Server进行的远程登录。
5-2 测试登录效果
查看/etc/ssh/sshd_conf配置文件,实际ssh端口仍为22
欢迎关注我的公众号: