电脑数码篇九_(续)无公网IP如何异地组网,纯白嫖玩法脚本修正

作者:gunpen

这篇完全为了记录前面有错或不完善的脚本,主要是怕以后忘记,需结合上篇实操。

一、群晖端

1、把群晖保存iptables规则脚本写进开机启动项

vi /etc/rc

输入i

在倒数第二行,exit 0之前插入以下语句

/root/tianluyou.sh 

:wq

退出

2、蒲公英虚拟网络的连通性检测脚本

cd /usr/local/

mkdir pgyvpn

cat > /usr/local/pgyvpn/check_pgyvpn-ds.sh <

#!/bin/bash

#检测蒲公英虚拟网络链接畅通性

if [ $(ping -c 1 -W 1 172.16.1.189 | grep time | grep -v grep | wc -l) -eq 1 ];then

echo "PGYVPN network off"

#蒲公英VPN网络不通

docker restart -t=30 pgyvpn

#重启 pgyvpn

else

echo "PGYVPN network on"

fi

exit 0

EOF

chmod +x /usr/local/pgyvpn/check_pgyvpn-ds.sh

3、到对端PVE网段连通性检测脚本

cat > /usr/local/pgyvpn/check_route-ds.sh <

#!/bin/bash

#检测PVE内网链接畅通性

if [ $(ping -c 1 -W 1 192.168.15.6 | grep time | grep -v grep | wc -l) -eq 1 ];then

echo "PVE network unreachable"

#至PVE的静态路由未启动

route add -net 192.168.15.0 netmask 255.255.255.0 gw 172.16.2.177

#启动至PVE的静态路由表

else

echo "PVE network smooth"

fi

exit 0

EOF

chmod +x /usr/local/pgyvpn/check_route-ds.sh

4、添加守护脚本进crontab文件

vi /etc/crontab

*/30 * * * * root /usr/local/pgyvpn/check_pgyvpn-ds

#第30分钟检测一次pgyvpn网络畅通性(ping本机分配到的蒲公英虚拟网络IP)

*/5 * * * * root /usr/local/pgyvpn/check_route-ds

#每5分钟检测一次静态路由(ping对端PVE网段IP)

vi的操作方法同上。

二、PVE端

1、PVE安装docker

(1)更换国内源

首先删除PVE自带的要收费的企业源:

rm -rf /etc/apt/sources.list.d/pve-enterprise.list 

然后对应PVE版本,修改 /etc/apt/sources.list 文件,我的是7.X版,如下:

debbullseye main contrib non-free

debbullseye-updates main contrib non-free

debbullseye-backports main contrib non-free

debbullseye-security main contrib non-free

debbullseye pve-no-subscription

更新并重启

apt-get update && apt-get dist-upgrade -y

(2)安装docker

apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

curl -fsSL| apt-key add -

apt-key fingerprint 0EBFCD88

add-apt-repository "deb [arch=amd64]$(lsb_release -cs) stable"

apt-get update && apt-get install docker-ce -y

(3)docker安装 benzbrake/pgyvpn

可以直接命令行拉取镜像:docker pull benzbrake/pgyvpn

我是先给PVE装上portainer,在portainer界面里完成镜像拉取和部署容器。

镜像拉取后,按照群晖一样的docker安装方法执行:(注意连续命令行后面加上反斜杠,前篇文章被大妈搞掉了,看下面截图)

docker run -d

  --restart=always

  --device=/dev/net/tun

  --net=host  

  --cap-add=NET_ADMIN

  --cap-add=SYS_ADMIN  

  --env PGY_USERNAME=你的pgy用户名  

  --env PGY_PASSWORD=你的pgy密码

  --name pgyvpn  

  benzbrake/pgyvpn

2、卸掉原来安装的pgyvpn软件

安装好docker版pgyvpn后,发现虚拟ip地址没改变,我就尝试把PVE主机上安装的pgyvpn卸载掉,果然没毛病。

dpkg -r pgyvpn

3、修改开机启动项

nano /etc/rc.local

#!/bin/bash下面加入这两内容:

bash /root/tianluyou.sh

bash /usr/local/pgyvpn/check_route-pve.sh

Ctrl+X,输入Y,保存退出

4、蒲公英虚拟网络的连通性检测脚本

cd /usr/local/

mkdir pgyvpn

cat > /usr/local/pgyvpn/check_pgyvpn-pve.sh <

#!/bin/bash

#检测蒲公英虚拟网络链接畅通性

if [ $(ping -c 1 -W 1 172.16.2.177 | grep time | grep -v grep | wc -l) -eq 1 ];then

echo "PGYVPN network off"

#蒲公英VPN网络不通

docker restart -t=30 pgyvpn

#重启 pgyvpn

else

echo "PGYVPN network on"

fi

exit 0

EOF

chmod +x /usr/local/pgyvpn/check_pgyvpn-pve.sh

5、到对端群晖网段连通性检测脚本

cat > /usr/local/pgyvpn/check_route-pve.sh <

#!/bin/bash

#检测DSM内网链接畅通性

if [ $(ping -c 1 -W 1 192.168.100.218 | grep time | grep -v grep | wc -l) -eq 1 ];then

echo "DSM network unreachable"

#至DSM的静态路由未启动

route add -net 192.168.100.0 netmask 255.255.255.0 gw 172.16.1.189

#启动至DSM的静态路由表

else

echo "DSM network smooth"

fi

exit 0

EOF

chmod +x /usr/local/pgyvpn/check_route-pve.sh

6、添加守护脚本进crontab文件

nano /etc/crontab

*/30 * * * * root bash /usr/local/pgyvpn/check_pgyvpn-pve

#第30分钟检测一次pgyvpn网络畅通性(ping本机分配到的蒲公英虚拟网络IP)

*/5 * * * * root bash /usr/local/pgyvpn/check_route-pve

#每5分钟检测一次静态路由(ping对端DSM网段IP)

Ctrl+X,输入Y,保存退出

(以上所写脚本也可以用vi或nano命令创建及编辑,这样更便于检查)   

三、docker的一些操作技巧 

1、启动一个已经停止的容器

docker start 容器ID或容器名,网上建议使用容器ID

(1) 通过docker start pgyvpn 启动容器

(2) 通过docker ps 查看当前启动的容器列表

2、停止一个正在运行的容器

(1) docker stop 容器ID或容器名

参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态,如:docker stop -t=60 容器ID或容器名

(2) docker kill 容器ID或容器名    ——直接关闭容

3、重启一个容器

docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器

docker restart 参数

-t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态

4、进入pgyvpn容器的里面   

docker exec -it pgyvpn /bin/bash

进入容器里面后,输入pgyvpn即可查看蒲公英访问端运行状态,然后输入命令退出

 exit

四、总结

这周末就要回老家了,折腾也算告一段落,真正的体验得过段时间,下面先上几张图吧。

广告一体机排名-[京东]电脑办公十大排名,快来看看吧!×广告雷电模拟器_电脑玩手游神器_官网正版下载×