您现在的位置是:首页 >其他 >Nginx本地指定网络连接反向代理和netsh机器转发网站首页其他
Nginx本地指定网络连接反向代理和netsh机器转发
1、主机转发
在网络中两台或多台主机,仅暴露一台的IP,其他处于受限状态,在Windows下可以用自带的portproxy功能实现。仅支持tcp协议的端口转发,前提需要作为portproxy的主机需要安装IPV6,安装可以不启用IPV6。
配置方法
假定需要通过192.168.31.8的8440端口连接192.168.31.118的18440端口,则需要在192.168.31.8主机的命令行输入如下语句
netsh interface ipv6 install
netsh interface portproxy add v4tov4 listenaddress=192.168.31.8 listenport=8440 connectaddress=192.168.31.118 connectport=18440
多个端口的转发,添加多条portproxy add记录。
如果想取消上面配置的端口转发,可以用如下语句:
netsh interface portproxy delete v4tov4 listenaddress=192.168.31.8 listenport=8440
如果想查看已经配置了哪些端口转发,可以用如下语句:
netsh interface portproxy show v4tov4
考虑到端口转发的冗余,可以多台主机都配置端口转发,且不用指定本地监听地址,这样可以通过操作系统提供浮动地址来实现冗余:
netsh interface portproxy add v4tov4 listenport=8440 connectaddress=192.168.31.118 connectport=18440
2、复杂路由
上面提到的转发,利用Windows自带的功能执行几条命令就可以搞定。但如果主机有多网卡连接到不同的子网,子网之间还存在相同的IP他就无能为力,解决这个问题需要使用开源软件nginx。
nginx是什么,有哪些优势,来自chartGpt的回答如下:
nginx是一款高性能的Web服务器、反向代理服务器以及电子邮件服务器,采用异步、事件驱动的架构,支持高并发、高吞吐量的请求处理。它的主要特点有:
1. 高并发性能:采用异步(非阻塞)I/O模型,一次可处理上万个并发连接,支持多进程、多线程以及多核CPU。
2. 节省硬件资源:占用内存少,CPU占用率低,可以在低配置的服务器上运行。
3. 可扩展性:支持动态模块加载和动态配置文件重载。
4. 高可靠性:提供健壮的服务监控机制、自动故障转移、热备等功能。
5. 负载均衡和反向代理:作为反向代理服务器,可以实现负载均衡、高可用性和多站点统一入口等功能。
6. 支持HTTP、HTTPS、SMTP、POP3、IMAP等协议:可以作为电子邮件服务器,支持SSL/TLS协议的加密和解密。
综合以上优势,nginx适用于高并发、高性能、高可靠性、高扩展性的Web应用场景,例如Web服务、大型门户网站、在线视频、企业级网站和电子商务等。
nginx可以实现复杂的协议解析和http/https路由规则,实现我们是需求,仅使用stream代理即可。
主机使用两块独立的网卡连接到vlan01和vlan02两个子网,这两个子网均存在一个192.168.31.8的设备,在配置时需要为连接vlan01的网卡配置ip 192.168.31.100,连接vlan02的网卡配置ip 192.168.31.200,这两个IP不要和两个子网内的IP有重复。
实现此路由的nginx.conf配置如下:
stream {
upstream vlan01 {
zone upstream_tcp 64k;
server 192.168.31.8:18440 max_fails=3 fail_timeout=30s;
}
upstream vlan02 {
zone upstream_tcp 64k;
server 192.168.31.8:18440 max_fails=3 fail_timeout=30s;
}
server {
listen 8440;
proxy_pass vlan01;
proxy_bind 192.168.31.100;
}
server {
listen 8441;
proxy_pass vlan02;
proxy_bind 192.168.31.200;
}
}
当不使用proxy_bind配置时,效果与portproxy相同。
3、附录
nginx下载地址:nginx news