Ubuntu 20.04.3 Setup L2TP VPN Server
資源配置:CPU 2Core、RAM4G、HD16GB
虛擬私人網路(L2TP VPN Server)建置
以Linux的Ubuntu20.04.3伺服器版為例,採用懶人包搭建伺服器
伺服器部分:
1.更新系統並重啟
sudo apt-get update && sudo apt-get dist-upgrade
2.下載安裝腳本
sudo wget https://git.io/vpnsetup -O vpnsetup.sh
3.若想編輯腳本(網路設定可在之後修改)
sudo nano vpnsetup.sh
4.執行安裝腳本
sudo sh vpnsetup.sh
5.修改路由表
sudo nano /etc/iptables.rules

6.修改DHCP範圍與本地端IP(以上步驟為例)
sudo nano /etc/xl2tpd/xl2tpd.conf

7.修改DHCP派發的DNS
sudo nano /etc/ppp/options.xl2tpd

8.修改PSK共同金鑰(日後想改可用)
sudo nano /etc/ipsec.secrets
9.修改使用者(日後想改可用)
sudo nano /etc/ppp/chap-secrets
用戶端部分:Win10-11
1.自動安裝用戶端L2TP VPN連線,使用PowerShell編輯並存檔 Add-VpnConnection.ps1(此命令於安裝後須重啟系統)
Add-VpnConnection -Name 'VPN連線名稱' -ServerAddress 'xxx.xxx.xxx.xxx' -L2tpPsk 'PSK共同金鑰' -TunnelType L2tp -EncryptionLevel Required -AuthenticationMethod Chap,MSChapv2 -Force -RememberCredential -PassThru
2.使用PowerShell編輯並存檔 Remove-VpnConnection.ps1
Remove-VpnConnection -Name 'VPN連線名稱'
3.使用TXT編輯並存檔 Win10修正檔.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent]
"AssumeUDPEncapsulationContextOnSendRule"=dword:00000002
利用ps1轉exe(以Administrator執行要勾)壓縮後發給用戶自行安裝VPN連線,安裝方式說明請自行斟酌
4.製作VPN連線開關(要不要加@echo off看個人習慣)
a.使用TXT編輯並存檔 VPN-ON.bat
其中指令順便賦予網路資料夾權限,磁碟機代號、檔案伺服器IP、Domain請自行更改(未加網域可修改紅字部分為NAS的主機名稱,綠色是可以修改的部分,不要看到userid、password就想改成自定義)
@echo off
ECHO 請輸入公司帳號
set /p userid=User id:
ECHO 請輸入公司密碼
set /p password=Password:
rasdial.exe VPN連線名稱 %userid% %password%
ECHO off userid=[xxx.xxx.xxx.xxx%userid%],password=[%password%]
cmdkey /add:xxx.xxx.xxx.xxx /user:domain\%userid% /pass:%password%
NET USE Z: \xxx.xxx.xxx.xxx\fsname /PERSISTENT:yes
b.使用TXT編輯並存檔 VPN-OFF.bat
rasdial.exe VPN連線名稱 /DISCONNECT
結語:
這協定似乎是做給MAC用戶專用的,但其所用的網路設備若不支援L2TP你也沒轍,例如咖啡廳公用網路或便宜的家用Wifi。