centos7 通过端口转发实现代理中转

centos7 通过端口转发实现代理中转

  • 背景: 已经有 1 台装好代理服务的服务器,任何网络都可以访问,但没有控制权限。现在想通过中转服务器来限制访问代理服务器的权限,隐藏代理服务器的 ip 和端口

  • 环境: centos7 服务器 jump-vm 1 台,ip 10.2.7.200。
    代理服务器 proxy-vm 1 台(已经装好代理服务),内网 ip 10.2.7.201,端口 2048,可以通过 10.2.7.201:2048 访问外网
    客户端 client-vm,ip 10.2.7.202

  • 实验方案:配置 jump-vm 10.2.7.200,通过 firewall-cmd add-rich-rule 端口转发,让来自 client-vm 10.2.7.202 访问 10.2.7.200:1024 的流量转发到 proxy-vm 10.2.7.201:2048。这样,client-vm 只需要知道 jump-vm 的 ip 和端口,无需知道 proxy-vm 的 ip 和端口,即可实现外网通信

jump-vm 10.2.7.200 上添加 rich-rule

firewall-cmd --permanent --add-masquerade 
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=10.2.7.202 forward-port port=1024 protocol=tcp to-addr=10.2.7.201 to-port=2048'
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=10.2.7.202 forward-port port=1024 protocol=udp to-addr=10.2.7.201 to-port=2048'
firewall-cmd --reload
firewall-cmd --list-all

client-vm 10.2.7.202 就可以使用 10.2.7.200:1024 作为代理来连接外网网

  • 期间遇到的问题
    1 最开始打算直接使用 add-forward-port 来进行端口转发,然后 add-rich-rule 添加访问 1024 端口的 ip 限制,可以实现代理,但 ip 限制不会生效。
firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --permanent --add-masquerade # 允许防火墙伪装IP
##firewall-cmd --permanent --remove-masquerade# 禁止防火墙伪装IP
firewall-cmd --permanent --add-forward-port=port=1024:proto=tcp:toaddr=10.2.7.201:toport=2048
firewall-cmd --reload
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.7.202/32' port protocol='tcp' port='1024' accept"

2 没有执行 firewall-cmd --permanent --add-masquerade,导致端口转发失效

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页