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

148 篇文章 2 订阅

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,导致端口转发失效

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值