国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

編寫(xiě)Python腳本批量配置VPN的教程

2020-02-23 01:07:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

緣起

大家都知道,最近的網(wǎng)絡(luò)不怎么和諧,速度慢不說(shuō),VPN 還總斷,好在云梯 提供了挺多的服務(wù)器可以切換, 但云梯的服務(wù)器又挺多,Linux 的 Network Manager 又不支持批量添加配置,甚至配置文件都不能復(fù)制新建, 每個(gè)服務(wù)器的配置都得手動(dòng)加,非常麻煩。

當(dāng)然,也可以每次切換時(shí)打開(kāi)配置,光改地址,但是這也非常不方便。

作為一個(gè)合格的開(kāi)發(fā)人員,當(dāng)然會(huì)想到用程序批量生成配置,我選擇使用 Python。
尋找配置文件的位置

要批量創(chuàng)建配置,首先得知道配置文件在哪里,比如自己的云梯 VPN 地址中包含 example 字樣,這樣找起來(lái)就方便了。

代碼如下:grep 'example'  ~/.config -r
grep 'example'  /etc/ -r

于是輕松的定位到了配置文件的位置

代碼如下:grep: /etc/NetworkManager/system-connections/yunti.pptp.a: Permission denied
grep: /etc/NetworkManager/system-connections/yunti.pptp.b: Permission denied
grep: /etc/NetworkManager/system-connections/yunti.pptp.c: Permission denied

了解配置文件結(jié)構(gòu)

拿一個(gè)配置文件出來(lái)看看:

[connection]id=yunti.pptp.tw1uuid=063db9b5-5915-4f3e-8bb4-2fe58abf5be5type=vpnpermissions=user:greatghoul:;autoconnect=false[vpn]service-type=org.freedesktop.NetworkManager.pptpgateway=tw1.example.comrequire-mppe=yesuser=greatghoulrefuse-chap=yesrefuse-eap=yespassword-flags=1refuse-pap=yes[ipv4]method=autodns=8.8.8.8;8.8.4.4;ignore-auto-dns=true

顯然,有這么幾個(gè)部分需要?jiǎng)討B(tài)生成的

    connection.id 這個(gè)需要是唯一的     connection.uuid 就是 uuid 生成一個(gè)就好了     connection.permissions 要添加上你的用戶名嘛     vpn.gateway VPN 服務(wù)器的地址     vpn.user VPN 服務(wù)的帳戶名     ipv4.dns 按你喜好配置就好

既然了解了,就開(kāi)工吧
準(zhǔn)備配置信息及模板

首先,讓我們準(zhǔn)備好材料:

VPN_SERVERS = [  { 'id': 'yunti.pptp.a', 'gateway': 'a.example.com' },  { 'id': 'yunti.pptp.b', 'gateway': 'b.example.com' },  { 'id': 'yunti.pptp.c', 'gateway': 'c.example.com' },]

配置中 uuid 需要?jiǎng)討B(tài)生成了

>>> import uuid>>> str(uuid.uuid1())'0621ba62-888a-11e3-805c-44334c786649'

至于 connection.permissions、vpn.user 和 ipv4.dns 直接寫(xiě)在配置模板中即可。

tpl.cfg[connection]id=%(id)suuid=%(uuid)stype=vpnpermissions=user:greatghoul:;autoconnect=false[vpn]service-type=org.freedesktop.NetworkManager.pptpgateway=%(gateway)srequire-mppe=yesuser=greatghoulrefuse-chap=yesrefuse-eap=yespassword-flags=1refuse-pap=yes[ipv4]method=autodns=8.8.8.8;8.8.4.4;ignore-auto-dns=true

生成 VPN 連接配置文件

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临高县| 淳安县| 江阴市| 读书| 千阳县| 平昌县| 彭州市| 临泽县| 徐闻县| 通山县| 桓仁| 米林县| 静宁县| 景德镇市| 平乡县| 墨江| 金川县| 吕梁市| 南昌县| 射洪县| 鹿泉市| 吉隆县| 山阴县| 南川市| 梅州市| 永仁县| 德阳市| 麻城市| 延长县| 灌阳县| 金阳县| 安远县| 东丽区| 江孜县| 小金县| 墨江| 大名县| 嵊泗县| 灵川县| 南充市| 株洲市|