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

2022-01-20 21:58:15 7点赞 68收藏 0评论

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

一、群晖

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 <<EOF

  • #!/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 <<EOF

  • #!/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版,如下:

  • deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

  • deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

  • deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

  • deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

  • deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bullseye 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 https://download.docker.com/linux/debian/gpg | apt-key add -

  • apt-key fingerprint 0EBFCD88

  • add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(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 <<EOF

  • #!/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 <<EOF

  • #!/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

查看pgyvpn运行状态查看pgyvpn运行状态

四、总结

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

利用秒开旁路由远程操作利用秒开旁路由远程操作

PVE端ping群晖所在网段IPPVE端ping群晖所在网段IP

群晖端ping PVE网段群晖端ping PVE网段

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

169元起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

258元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

328元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 office365家庭版microsoft365增强版15个月

Microsoft 微软 office365家庭版microsoft365增强版15个月

289元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

198元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

729.6元起

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

269元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

198元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 Office2016小型企业版 MAC专用

Microsoft 微软 Office2016小型企业版 MAC专用

149元起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
68
扫一下,分享更方便,购买更轻松