内网服务器无法直接连接外网时需进行端口代理的解决方案

功能介绍

使用nginx,CCproxy,windows,linux进行网络代理的方案

Nginx 反向代理方案

内网访问外网或外网访问内网
配置

server {
      listen  80; #监听80端口
      server_name  localhost;
     location / { #转发请求到内网服务器
	    proxy_pass http://172.16.71.180:8081;
	}
	location ~ /easymock(.+) { #转发请求到内网服务器,将前缀为easymock的请求去除后转发到内网服务器
	    proxy_pass http://172.16.71.181:7300$1;
	}
}

CCproxy

内网访问外网
在内外网交互机上安装CCproxy 设置代理端口,内网机配置http代理可以访问外网
在这里插入图片描述

windows实现ip地址端口转发

使用管理员打开cmd

1、添加转发

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=80 connectaddress=10.0.40.100 connectport=80
#listenaddress 要监听的ip地址,也就是最终要访问的ip地址。
#connectadress 要链接的服务器地址,也就是RealServer
#port端口。

2、查看已配置的转发

netsh interface portproxy show all

3、删除配置的转发

netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=80

在这里插入图片描述

linux进行端口转发

1、建立端口转发
#!/bin/bash
pro='tcp'
#跳板机内网ip
NAT_Host='192.168.1.1'
NAT_Port=7801
#目的机内网ip
Dst_Host='192.168.0.1'
Dst_Port=8001
iptables -t nat -A PREROUTING  -m $pro -p $pro --dport $NAT_Port -j DNAT --to-destination $Dst_Host:$Dst_Port
iptables -t nat -A POSTROUTING -m $pro -p $pro --dport $Dst_Port -d $Dst_Host -j SNAT --to-source $NAT_Host

2、查看nat防火墙配置的命令:

iptables -t nat -vnL PREROUTING --line-number
iptables -t nat -vnL OUTPUT --line-number

3、删除防火墙规则:

iptables -t nat -D PREROUTING 1
iptables -t nat -D OUTPUT 1

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页