本文介绍: 主机使用两块独立的网卡连接vlan01和vlan02两个子网,这两个子网均存在一个192.168.31.8的设备,在配置需要连接vlan01的网卡配置ip 192.168.31.100,连接vlan02的网卡配置ip 192.168.31.200,这两个IP不要和两个子网内的IP有重复。nginx是一款高性能的Web服务器反向代理服务器以及电子邮件服务器,采用异步事件驱动架构支持并发、高吞吐量的请求处理。2. 节省硬件资源占用内存少,CPU占用率低,可以在低配置的服务器上运行

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

原文地址:https://blog.csdn.net/yuming/article/details/130519379

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_9056.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注