LVS负载均衡(2)-- NAT模型搭建实例


目录


1. LVS NAT模型搭建

1.1 NAT模型网络规划

LVS负载均衡(2)-- NAT模型搭建实例

规划要点:

  • 在生产环境中,客户端与企业互联网出口设备不会时同一网段地址,此处我们规划为同一网段地址,但是没有在客户端上配置网关,因此我们需要在企业出口设备上把LVS的VIP地址192.168.50.100做地址映射或端口映射,映射到企业出口防火墙的外网地址192.168.20.31。
  • LVS设备在LAN网络中设置了两个IP,其中192.168.50.31为实际地址DIP,192.168.50.100为虚IP,为后面的高可用规划地址。
  • 后端nginx服务器RS设备与LVS在同一网段,需要把网关指向LVS的DIP或VIP上,考虑到后期使用两台LVS做高可用,建议把网关配置为LVS的VIP地址。
  • 所有的客户端都是与后端的RS主机进行TCP三次握手,而不是LVS设备。

1.2 NAT模型访问流程

NAT模型流程图如下:

LVS负载均衡(2)-- NAT模型搭建实例

NAT的访问流程如下:

  • 1、当用户请求到达 Director Server ,此时请求的数据报文会先到内核空间的 PREROUTING 链。 此时报文的源IP为CIP , 目标IP为VIP;
  • 2、 PREROUTING 检查发现数据包的目标 IP 是本机,将数据包送至 INPUT 链;
  • 3、 IPVS 比对数据包请求的服务是否为集群服务,若是,通过调度算法挑选一台后端 RS 服务器,并修改数据包的 目标IP为RS的IP ,然后将数据包发至POSTROUTING 链。 此时报文的 源IP为CIP , 目标IP为RIP ;
  • 4、 POSTROUTING 链通过选路,将数据包通过 Director Server 的 DIP 发送给 RS ;
  • 5、 RS 发现目标为自己的 IP ,则交给应用程序处理,然后构建响应报文发回给Director Server 。 此时报文的 源IP为RIP , 目标IP为CIP ;
  • 6、 Director Server 在响应客户端前,会将源 IP 地址修改为 VIP 地址,然后响应给客户端。此时报文的 源IP为VIP , 目标IP为CIP;

1.3 NAT模型配置步骤

1.3.1 ROUTER设备配置

  • ROUTER设备的IP地址和路由信息如下:

    [root@router ~]# ip add
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:4f:a9:ca brd ff:ff:ff:ff:ff:ff
        inet 192.168.20.50/24 brd 192.168.20.255 scope global noprefixroute eth1
           valid_lft forever preferred_lft forever
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:4f:a9:d4 brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.50/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    #此场景中无需配置路由
    [root@router ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.50.0    0.0.0.0         255.255.255.0   U     104    0        0 eth2
    
  • 打开router设备的ip_forward功能:

    [root@router ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    [root@router ~]# sysctl -p
    net.ipv4.ip_forward = 1
    
  • 把LVS的虚IP地址的80和443端口映射到路由器外网地址的80和443端口,也可以使用地址映射:

    #端口映射:
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -p tcp --dport 80 -j DNAT --to 192.168.50.100:80
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -p tcp --dport 443 -j DNAT --to 192.168.50.100:443
    
    #地址映射:
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -j DNAT --to 192.168.50.100
    
    #源NAT,让内部主机上网使用
    [root@router ~]# iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -j SNAT --to 192.168.20.50
    
    #查看NAT配置:
    [root@router ~]# iptables -t nat -vnL
    Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.20.50        tcp dpt:80 to:192.168.50.100:80
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.20.50        tcp dpt:443 to:192.168.50.100:443
    
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 SNAT       all  --  *      *       192.168.50.0/24      0.0.0.0/0            to:192.168.20.50
    

1.3.2 后端nginx服务器配置

  • nginx02主机的网络配置如下:

    [root@nginx02 ~]# ip add
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:d9:f9:7d brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.22/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    #路由配置:网关指向LVS的VIP地址192.168.50.100
    [root@nginx02 ~]# ip route add default via 192.168.50.100
    
    #本实验场景中存在ETH1口地址为192.168.20.0/24网段,因此需要配置指向客户端的主机路由,生产中不需要
    [root@nginx02 ~]# ip route add 192.168.20.17/32 via 192.168.50.100
    
    [root@nginx02 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.100  0.0.0.0         UG    0      0        0 eth2
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.20.17   192.168.50.100  255.255.255.255 UGH   0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     103    0        0 eth2
    
  • nginx03主机的网络配置如下:

    [root@nginx03 ~]# ip add
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:0a:bf:63 brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.23/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    #路由配置:网关指向LVS的VIP地址192.168.50.100
    [root@nginx03 ~]# ip route add default via 192.168.50.100
    
    #本实验场景中存在ETH1口地址为192.168.20.0/24网段,因此需要配置指向客户端的主机路由,生产中不需要
    [root@nginx03 ~]# ip route add 192.168.20.17/32 via 192.168.50.100
    
    [root@nginx03 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.100  0.0.0.0         UG    0      0        0 eth2
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.20.17   192.168.50.100  255.255.255.255 UGH   0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     103    0        0 eth2
    
  • nginx配置文件两台WEB服务器保持一致:

    [root@nginx03 ~]# cat /etc/nginx/conf.d/xuzhichao.conf
    server {
    	listen 80 default_server;
    	listen 443 ssl;
    	server_name www.xuzhichao.com;
    	access_log /var/log/nginx/access_xuzhichao.log access_json;
    	charset utf-8,gbk;	
    	
    	#SSL配置
    	ssl_certificate_key /apps/nginx/certs/www.xuzhichao.com.key;
    	ssl_certificate /apps/nginx/certs/www.xuzhichao.com.crt;
    	ssl_session_cache shared:ssl_cache:20m;
    	ssl_session_timeout 10m;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    	keepalive_timeout 65;
    	
    	#防盗链
    	valid_referers none blocked server_names *.b.com  b.*  ~\.baidu\.  ~\.google\.;
    	
    	if ( $invalid_referer ) {
    		return 403;	
    	}
    
    	client_max_body_size 10m;
    
    	#浏览器图标
    	location = /favicon.ico {
    		root /data/nginx/xuzhichao;
    	}
    
    	location / {
    		root /data/nginx/xuzhichao;
    		index index.html index.php;
    		
    		#http自动跳转https
    		if ($scheme = http) {
    			rewrite ^/(.*)$ https://www.xuzhichao.com/$1;
    		}
    	}
    }
    
    #重启nginx服务:
    [root@nginx03 ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@nginx03 ~]# systemctl reload nginx.service 
    
  • nginx02主机的主页文件如下:

    [root@nginx02 certs]# cat /data/nginx/xuzhichao/index.html
    node1.xuzhichao.com page
    
  • nginx03主机的主页文件如下:

    [root@nginx03 ~]# cat /data/nginx/xuzhichao/index.html 
    node2.xuzhichao.com page
    
  • 测试访问:

    [root@lvs-01 ~]# curl -Hhost:www.xuzhichao.com  -k https://192.168.50.23
    node2.xuzhichao.com page
    [root@lvs-01 ~]# curl -Hhost:www.xuzhichao.com  -k https://192.168.50.22
    node1.xuzhichao.com page
    

1.3.3 LVS设备配置

  • LVS设备的网络配置如下:

    #1.配置虚地址192.168.50.100
    #临时配置:
    [root@lvs-01 ~]# ifconfig eth2:1 192.168.50.100/24 up
    
    #永久配置,使用配置文件:
    [root@lvs-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2:1
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=192.168.50.100
    PREFIX=24
    DEVICE=eth2:1
    NAME=eth2:1
    DEFROUTE=yes
    ONBOOT=yes
    
    #重启网卡:
    [root@lvs-01 ~]# ifdown eth2 && ifup eth2 
    [root@lvs-01 ~]# ifdown eth2:1 && ifup eth2:1
    
    #2.LVS地址配置:
    [root@lvs-01 ~]# ip add
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:21:84:9d brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.31/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
        inet 192.168.50.100/24 brd 192.168.50.255 scope global secondary eth2:1
           valid_lft forever preferred_lft forever
    
    #3.LVS配置默认路由指向出口路由器192.168.50.50
    [root@lvs-01 ~]# ip route add default via 192.168.50.50
    
    #本实验场景中存在ETH1口地址为192.168.20.0/24网段,因此需要配置指向客户端的主机路由,生产中不需要
    [root@lvs-01 ~]# ip route add 192.168.20.17/32 via 192.168.50.50
    
    [root@lvs-01 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.50   0.0.0.0         UG    0      0        0 eth2
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.20.17   192.168.50.50   255.255.255.255 UGH   0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     102    0        0 eth2
    
  • 打开lvs设备的ip_forward功能:

    [root@router ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    [root@router ~]# sysctl -p
    net.ipv4.ip_forward = 1
    
  • 配置IPVS的规则:

    #创建80和443两个集群,并添加后端主机:
    [root@lvs-01 ~]# ipvsadm -A -t 192.168.50.100:80 -s rr
    [root@lvs-01 ~]# ipvsadm -A -t 192.168.50.100:443 -s rr
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:80 -r 192.168.50.22:80 -m
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:80 -r 192.168.50.23:80 -m
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:443 -r 192.168.50.22:443 -m
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:443 -r 192.168.50.23:443 -m
    
    [root@lvs-01 ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.50.100:80 rr
      -> 192.168.50.22:80             Masq    1      0          0         
      -> 192.168.50.23:80             Masq    1      0          0         
    TCP  192.168.50.100:443 rr
      -> 192.168.50.22:443            Masq    1      0          0         
      -> 192.168.50.23:443            Masq    1      0          0         
    

1.3.4 客户端访问测试

  • 客户端网络配置如下:

    [root@xuzhichao ~]# ip add
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:2f:d0:da brd ff:ff:ff:ff:ff:ff
        inet 192.168.20.17/24 brd 192.168.20.255 scope global noprefixroute eth1
           valid_lft forever preferred_lft forever
    
    [root@xuzhichao ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    
  • 测试访问:

    #1.测试使用http方式访问,重定向到https
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -L -Hhost:www,xuzhichao.com http://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
    #2.测试直接使用https方式访问
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -Hhost:www,xuzhichao.com https://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
  • 查看LVS的状态信息:

    [root@lvs-01 ~]# ipvsadm -Ln --stats
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
      -> RemoteAddress:Port
    TCP  192.168.50.100:80                  21      122       71     7976     9278
      -> 192.168.50.22:80                   10       62       39     4056     4902
      -> 192.168.50.23:80                   11       60       32     3920     4376
    TCP  192.168.50.100:443                 22      198      132    20454    60570
      -> 192.168.50.22:443                  11       99       66    10227    30285
      -> 192.168.50.23:443                  11       99       66    10227    30285
    
    [root@lvs-01 ~]# ipvsadm -Ln --rate
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port                 CPS    InPPS   OutPPS    InBPS   OutBPS
      -> RemoteAddress:Port
    TCP  192.168.50.100:80                   0        1        1       89      122
      -> 192.168.50.22:80                    0        1        0       44       61
      -> 192.168.50.23:80                    0        1        0       44       61
    TCP  192.168.50.100:443                  0        2        1      210      614
      -> 192.168.50.22:443                   0        1        1      105      307
      -> 192.168.50.23:443                   0        1        1      105      307
    
    [root@lvs-01 ~]# ipvsadm -Lnc
    IPVS connection entries
    pro expire state       source             virtual            destination
    TCP 00:31  TIME_WAIT   192.168.20.17:52494 192.168.50.100:80  192.168.50.22:80
    TCP 00:21  TIME_WAIT   192.168.20.17:43218 192.168.50.100:443 192.168.50.23:443
    TCP 00:32  TIME_WAIT   192.168.20.17:52530 192.168.50.100:80  192.168.50.23:80
    TCP 01:21  TIME_WAIT   192.168.20.17:52554 192.168.50.100:80  192.168.50.23:80
    TCP 00:32  TIME_WAIT   192.168.20.17:43260 192.168.50.100:443 192.168.50.23:443
    TCP 00:31  TIME_WAIT   192.168.20.17:43240 192.168.50.100:443 192.168.50.22:443
    TCP 01:22  TIME_WAIT   192.168.20.17:52570 192.168.50.100:80  192.168.50.23:80
    TCP 00:31  TIME_WAIT   192.168.20.17:52506 192.168.50.100:80  192.168.50.23:80
    TCP 01:21  TIME_WAIT   192.168.20.17:43280 192.168.50.100:443 192.168.50.22:443
    TCP 01:21  TIME_WAIT   192.168.20.17:43304 192.168.50.100:443 192.168.50.22:443
    TCP 00:31  TIME_WAIT   192.168.20.17:52502 192.168.50.100:80  192.168.50.22:80
    TCP 00:21  TIME_WAIT   192.168.20.17:43220 192.168.50.100:443 192.168.50.22:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43330 192.168.50.100:443 192.168.50.23:443
    TCP 00:31  TIME_WAIT   192.168.20.17:52510 192.168.50.100:80  192.168.50.22:80
    TCP 00:32  TIME_WAIT   192.168.20.17:43268 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52542 192.168.50.100:80  192.168.50.22:80
    TCP 01:40  TIME_WAIT   192.168.20.17:43328 192.168.50.100:443 192.168.50.22:443
    TCP 00:22  TIME_WAIT   192.168.20.17:43232 192.168.50.100:443 192.168.50.22:443
    TCP 02:00  TIME_WAIT   192.168.20.17:43342 192.168.50.100:443 192.168.50.23:443
    TCP 02:00  TIME_WAIT   192.168.20.17:43338 192.168.50.100:443 192.168.50.23:443
    TCP 00:11  TIME_WAIT   192.168.20.17:43212 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:43272 192.168.50.100:443 192.168.50.22:443
    TCP 00:31  TIME_WAIT   192.168.20.17:43248 192.168.50.100:443 192.168.50.22:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43314 192.168.50.100:443 192.168.50.23:443
    TCP 00:07  TIME_WAIT   192.168.20.17:52466 192.168.50.100:80  192.168.50.22:80
    TCP 15:00  ESTABLISHED 192.168.20.17:43344 192.168.50.100:443 192.168.50.22:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43318 192.168.50.100:443 192.168.50.23:443
    TCP 02:00  TIME_WAIT   192.168.20.17:43334 192.168.50.100:443 192.168.50.23:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43320 192.168.50.100:443 192.168.50.22:443
    TCP 01:21  TIME_WAIT   192.168.20.17:43284 192.168.50.100:443 192.168.50.23:443
    TCP 02:00  TIME_WAIT   192.168.20.17:43340 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:52518 192.168.50.100:80  192.168.50.22:80
    TCP 01:21  TIME_WAIT   192.168.20.17:43308 192.168.50.100:443 192.168.50.23:443
    TCP 00:31  TIME_WAIT   192.168.20.17:43236 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52566 192.168.50.100:80  192.168.50.22:80
    TCP 00:22  TIME_WAIT   192.168.20.17:43222 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52534 192.168.50.100:80  192.168.50.22:80
    TCP 00:22  TIME_WAIT   192.168.20.17:43230 192.168.50.100:443 192.168.50.23:443
    TCP 00:21  TIME_WAIT   192.168.20.17:43214 192.168.50.100:443 192.168.50.23:443
    TCP 00:32  TIME_WAIT   192.168.20.17:43264 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:43256 192.168.50.100:443 192.168.50.22:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43332 192.168.50.100:443 192.168.50.22:443
    TCP 00:31  TIME_WAIT   192.168.20.17:43252 192.168.50.100:443 192.168.50.23:443
    TCP 00:31  TIME_WAIT   192.168.20.17:52498 192.168.50.100:80  192.168.50.23:80
    TCP 00:21  TIME_WAIT   192.168.20.17:43216 192.168.50.100:443 192.168.50.22:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43322 192.168.50.100:443 192.168.50.23:443
    TCP 00:22  TIME_WAIT   192.168.20.17:43226 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:43292 192.168.50.100:443 192.168.50.23:443
    TCP 00:22  TIME_WAIT   192.168.20.17:43224 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:52522 192.168.50.100:80  192.168.50.23:80
    TCP 01:21  TIME_WAIT   192.168.20.17:52546 192.168.50.100:80  192.168.50.23:80
    TCP 01:21  TIME_WAIT   192.168.20.17:52562 192.168.50.100:80  192.168.50.23:80
    TCP 01:21  TIME_WAIT   192.168.20.17:43300 192.168.50.100:443 192.168.50.23:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43324 192.168.50.100:443 192.168.50.22:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52538 192.168.50.100:80  192.168.50.23:80
    TCP 01:40  TIME_WAIT   192.168.20.17:43326 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52550 192.168.50.100:80  192.168.50.22:80
    TCP 00:31  TIME_WAIT   192.168.20.17:43244 192.168.50.100:443 192.168.50.23:443
    TCP 01:21  TIME_WAIT   192.168.20.17:43288 192.168.50.100:443 192.168.50.22:443
    TCP 02:00  TIME_WAIT   192.168.20.17:43336 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:52526 192.168.50.100:80  192.168.50.22:80
    TCP 01:21  TIME_WAIT   192.168.20.17:43276 192.168.50.100:443 192.168.50.23:443
    TCP 00:22  TIME_WAIT   192.168.20.17:43228 192.168.50.100:443 192.168.50.22:443
    TCP 01:21  TIME_WAIT   192.168.20.17:52558 192.168.50.100:80  192.168.50.22:80
    TCP 01:22  TIME_WAIT   192.168.20.17:43312 192.168.50.100:443 192.168.50.22:443
    TCP 01:21  TIME_WAIT   192.168.20.17:43296 192.168.50.100:443 192.168.50.22:443
    TCP 00:07  TIME_WAIT   192.168.20.17:43208 192.168.50.100:443 192.168.50.23:443
    TCP 01:40  TIME_WAIT   192.168.20.17:43316 192.168.50.100:443 192.168.50.22:443
    TCP 00:32  TIME_WAIT   192.168.20.17:52514 192.168.50.100:80  192.168.50.23:80
    TCP 00:11  TIME_WAIT   192.168.20.17:52470 192.168.50.100:80  192.168.50.23:80
    
上一篇:网络层---IP协议


下一篇:如何写好技术文档——来自Google十多年的文档经验