# 用来创建tun1设备,并ipip协议的外层ip,目的ip为172.16.5.127, 源ip为172.16.5.126 ip tunnel add tun1 mode ipip remote 172.16.5.127 local 172.16.5.126 # 给tun1设备增加ip地址,并设置tun1设备的对端ip地址为10.10.200.10 ip addr add 10.10.100.10 peer 10.10.200.10 dev tun1 ip link set tun1 up
$ ip link show eth0 3: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP link/ether 96:5f:80:a3:a3:01 brd ff:ff:ff:ff:ff:ff
$ ip addr 18: veth0e09999e@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default link/ether de:b0:74:89:e8:3e brd ff:ff:ff:ff:ff:ff link-netnsid 4 inet6 fe80::dcb0:74ff:fe89:e83e/64 scope link valid_lft forever preferred_lft forever
在没有go mod之前,项目源码必须是放在GOPATH目录下的,有了go mod之后项目即可以放在GOPATH目录下,也可以放在非GOPATH的目录下,在GOPATH目录下在执行时需要指定环境变量GO111MODULE=on,具体的写法可以是GO111MODULE=on go mod init
由于众所周知的原因,go的包相对还是比较难下载的,很多情况下还是需要vendor目录存在的,并将vendor目录中的包一并提交到代码库中。可以使用go mod vendor命令来完成,执行该命令后会将本地下载的包copy到vendor目录下。
坑1 提示unknown revision
1 2 3 4
# GO111MODULE=on go get gitlab.aa-inc.com/bb@v2 go: finding gitlab.aa-inc.com/bb v2 go: finding gitlab.aa-inc.com v2 go get gitlab.aa-inc.com/bb@v2: unknown revision v2