好不好用,自己用了就知道。
这个完全 复制-粘贴-执行 就行,没有任何隐藏步骤
本文由n2n sprov-ui Haproxy
n2n是一个二层架构的扶墙网络,其中super node提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。
至此,我们已经了解,部署n2n至少需要两台以上的机器。(我这里是国内一台,国外一台)
我们此文采用两台centos。
centos7(super node) – 149.0.0.1 (公网IP) centos7 - 10.0.0.1(n2n的ip)
使用n2n产生的虚拟网段,将为 10.0.0.1 ~ 10.0.0.255
无论是edgenode还是supernode 都需要安装n2n,所以下面安装方法通用,提供两种n2n资源,均可。
代码语言:javascript复制git clone https://github.com/meyerd/n2n.git
yum install -y openssl-devel
yum install -y cmake
yum install -y net-tools
yum install -y git
yum install -y gcc gcc-c
cd n2n/n2n_v2
mkdir build
cd build
cmake ..
make && make install
supernode #(服务端运行)
supernode -l 5000
服务端也可以同时当做客户端使用,将服务端加入到虚拟网络中。
代码语言:javascript复制edge -a 10.0.0.10 -c edge0 -k wss -l 149.0.0.1:5000
客户端
代码语言:javascript复制edge -a 10.0.0.11 -c edge0 -k wss -l 149.0.0.1:5000
10.0.0.11 这个IP是虚拟网段,其他加入虚拟网络中的IP地址需要在同一网段,统一key,即wss(可设置为其他)。
国外机器安装sprov-ui
代码语言:javascript复制wget -O /usr/bin/sprov-ui -N --no-check-certificate https://github.com/mikewubox/sprov-ui/raw/master/sprov-ui.sh && chmod x /usr/bin/sprov-ui && sprov-ui
装完了以后,新加代理的时候把IP改成内网段的
然后国内机器安装Haproxy
代码语言:javascript复制yum -y install Haproxy
vi /etc/haproxy/haproxy.cfg
在centos7上安装好后使用的时候要把下面两个参数注释。
然后配置就行。不然会报错http参数问题
代码语言:javascript复制defaults
mode http
log global
# option httplog
option dontlognull
option http-server-close
# option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
后面新加端口转发
代码语言:javascript复制frontend tcp-2013-front
bind 172.24.19.176:1204 国内机器IP端口
mode tcp
default_backend tcp-2013-back
backend tcp-2013-back
mode tcp
balance leastconn
server tcp-2013 10.0.0.10:1204 国外机器n2nIP端口
haproxy -c -V -f /etc/haproxy/haproxy.cfg 验证
验证没问题,启动报错 ,关闭sLinux
代码语言:javascript复制setenforce 0
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
大概就这些了。从去年国庆后改成这个方法,用过的代理都没得问题。