Skip to content

Latest commit

 

History

History
143 lines (115 loc) · 5.92 KB

v0.1.0.md

File metadata and controls

143 lines (115 loc) · 5.92 KB

v 0.1.0

实验性版本

  1. 支持 windows & linux 客户端、服务端程序
  2. 支持手动网络配置,云转发;
  3. 支持多网络平面隔离;

前提

部署gateway程序需要完成如下平台的检查和安装;

windows

  1. 安装 tap windows 虚拟网卡驱动; win10 win7

linux

  1. 查看tun设备是否存在; ls -ail /dev/net/tun

提取软件包

  1. 下载地址,根据您所需要部署的形态决定;客户端、服务端没有绑定限制,支持windows&linux 混合部署使用;

    linux_amd64.tar.gz

    windows_amd64.tar.gz

  2. 当前版本,解压后分别有两个程序,gateway和transfer,分别用于部署在客户端和服务端,目前transfer还不支持分布式;

部署

transfer程序

参数说明:

2020/08/24 18:30:19.950 [I]  version: v0.1.0 20200824
Usage of transfer.exe:
  -bind int
        transfer server bind port (default 8000)
  -debug
        debug mode
  -help
        usage
  -log string
        log dir (default "/opt/log")
  -nums int
        transfer server instance nums (default 1000)
  -public string
        public IP (default "www.youdomain.com")
  • -bind: 所需要绑定的UDP起始端口,注意转发transfer服务支持绑定多个端口,每个端口分别对于一个namespace,配合 -nums 参数,可以创建多个独立转发地址空间;默认端口范伟为:8000~9000,如果其中一个端口被占用,则会忽略并跳过该端口;
  • -debug: 调试模式,所以日志将打印到控制台,不会输出到目录;方便问题定位;
  • -log: 运行日志的目录地址;默认会记录30天运行日志,并且支持zip压缩;建议您保留大约1GB以上磁盘空间;
  • -nums: 命名空间数量,也对应服务实例数量,与-bind结合使用,请保留相应端口范围;
  • -public: 云服务主机对外IP或者域名;需要公网可以访问的IPv4地址;

注意:使用方式不区分windows、linux平台,启动后保持后台运行即可;

gateway程序

参数说明:

2020/08/24 18:42:00.750 [I]  version: v0.1.0 20200824
Usage of gateway.exe:
  -debug
        debug mode
  -help
        usage
  -iface string
        used interface or ip address (default "eth0")
  -ip string
        virtual IP (default "172.168.0.1")
  -log string
        log dir (default "/opt/log")
  -trans string
        transfer public address (default "www.youdomain.com:8000")
  • debug: 调试模式,所以日志将打印到控制台,不会输出到目录;方便问题定位;

  • -ip: 在当前虚拟网络中的虚拟地址IP,目前支持IPv4地址,例如:172.168.x.x,默认255.255.0.0网段,注意:不能与自身其他网卡网段冲突;

  • -log: 运行日志的目录地址;默认会记录30天运行日志,并且支持zip压缩;建议您保留大约1GB以上磁盘空间;

  • -trans: 连接相应转发服务,就是对应transfer的公网IP地址和端口;如果选用一个端口,那么其他需要加入同一个网络namespace的节点,端口需要保持一致;

  • -iface: 绑定本地网卡名称或者IP地址,比如:在linux环境下面默认eth0,而windows相对复杂;可以通过 控制面板 -> 网络与共享中心 -> 更改适配器设置 里面进行查看;例如截图: 对应名称为: vEthernet (wlan)

    或者查看IP地址方式,例如:linux 通过命令 ifconfig 查看相应IP地址,例如如下eth0对应的IP地址为:192.168.3.2

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.3.2  netmask 255.255.255.0  broadcast 192.168.3.255
            inet6 fe80::215:5dff:fe03:b00  prefixlen 64  scopeid 0x20<link>
    ...
    

    windows通过查看ipconfig命令查看地址:

    以太网适配器 vEthernet (wlan):
    连接特定的 DNS 后缀 . . . . . . . :
    本地链接 IPv6 地址. . . . . . . . : fe80::5523:9866:1b83:5ad7%9
    IPv4 地址 . . . . . . . . . . . . : 192.168.3.11
    子网掩码  . . . . . . . . . . . . : 255.255.255.0
    默认网关. . . . . . . . . . . . . : 192.168.3.1
    

注意:使用方式不区分windows、linux平台,启动后保持后台运行即可;

测试

  1. 为了方便大家测试,我们提供一台位于云主机服务器,1Mb带宽,资源有限:
  2. 已经部署好的 transfer 转发服务地址范围:
    121.37.163.197:8000 ~ 121.37.163.197:9000
    
    注意:任意选择一个端口测试即可,注意可能会有人同时使用一个端口;尽量测试完成后停止使用,避免与其他人冲突;
  3. 选择相应平台gateway程序,并且启动控制台:
  • windows:

    gateway.exe -ip 172.168.3.1 -trans 121.37.163.197:8000 -iface "vEthernet (wlan)" -debug
    
  • linux:

    ./gateway -ip 172.168.3.2 -trans 121.37.163.197:8000 -iface "eth0" -debug
    
  • 两个节点相互ping对方虚拟IP;

    root@node2:~# ping 172.168.3.1
    PING 172.168.3.1 (172.168.3.1) 56(84) bytes of data.
    64 bytes from 172.168.3.1: icmp_seq=1 ttl=126 time=2.78 ms
    64 bytes from 172.168.3.1: icmp_seq=2 ttl=126 time=3.65 ms
    64 bytes from 172.168.3.1: icmp_seq=3 ttl=126 time=2.85 ms
    

    注意:如果两个节点在同一个局域网,那么他们互ping时延也会很低,如果多个地域,会自动走公网转发服务,所以时延会较长;

  • 也可以通过 ipconfigifconfig 查看虚拟网卡IP地址信息;

    mesh0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1472
            inet 172.168.3.2  netmask 255.255.255.255  destination 172.168.3.2
    ...