本腳本適用環境:
系統支持:CentOS6+,Debian7+,Ubuntu12+
內存要求:≥128M
關於本腳本名詞解釋:
L2TP(Layer 2 Tunneling Protocol)
IPSec(Internet Protocol Security)
IKEv2 (Internet Key Exchange v2)
能實現 IPsec 的目前總體上有 openswan,libreswan,strongswan 這3種。
libreswan 是基於 openswan 的 fork,所以現在各個發行版基本已經看不到 openswan 的身影了。
當然也有使用 strongswan 的。
之所以要更新 L2TP 一鍵安裝腳本,是因為隨着各個 Linux 發行版不斷推陳出新,原有的腳本已經不適應現在的需求。
本腳本通過編譯安裝最新版 libreswan 來實現 IPSec(CentOS7 下則是全部 yum 安裝),yum 或 apt-get 來安裝 xl2tpd,再根據各個發行版的使用方法不同,部署防火牆規則。
寫在前面:
基於 OpenVZ 虛擬化技術的 VPS 需要開啟TUN/TAP才能正常使用,購買 VPS 時請先咨詢服務商是否支持開啟 TUN/TAP。
糾正:OpenVZ 虛擬的 VPS 需要系統內核支持 IPSec 才行。也就是說,母服務器的內核如果不支持的話那就沒辦法。
如何檢測是否支持TUN模塊?
執行命令:
cat /dev/net/tun
如果返回信息為:cat: /dev/net/tun: File descriptor in bad state 說明正常
如何檢測是否支持ppp模塊?
執行命令:
cat /dev/ppp
如果返回信息為:cat: /dev/ppp: No such device or address 說明正常
當然,腳本在安裝時也會執行檢查,如果不適用於安裝,腳本會予以提示。
使用方法:
root用戶登錄后,運行以下命令:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh
執行后,會有如下交互界面
Please input IP-Range:
(Default Range: 192.168.18):
輸入本地IP段范圍(本地電腦連接到VPS后給分配的一個本地IP地址),直接回車意味着輸入默認值192.168.18
Please input PSK:
(Default PSK: teddysun.com):
PSK意為預共享密鑰,即指定一個密鑰將來在連接時需要用到,直接回車意味着輸入默認值teddysun.com
Please input Username:
(Default Username: teddysun):
Username意為用戶名,即第一個默認用戶。直接回車意味着輸入默認值teddysun
Please input teddysun’s password:
(Default Password: Q4SKhu2EXQ):
輸入用戶的密碼,默認會隨機生成一個10位包含大小寫字母和數字的密碼,當然你也可以指定密碼。
ServerIP:your_server_main_IP
顯示你的 VPS 的主 IP(如果是多 IP 的 VPS 也只顯示一個)
Server Local IP:192.168.18.1
顯示你的 VPS 的本地 IP(默認即可)
Client Remote IP Range:192.168.18.2-192.168.18.254
顯示 IP 段范圍
PSK:teddysun.com
顯示 PSK
Press any key to start…or Press Ctrl+c to cancel
按下任意按鍵繼續,如果想取消安裝,請按Ctrl+c鍵
安裝完成后,腳本會執行 ipsec verify 命令並提示如下:
If there are no [FAILED] above, then you can connect to your L2TP VPN Server with the default Username/Password is below: ServerIP:your_server_IP PSK:your PSK Username:your usename Password:your password If you want to add users, please modify /etc/ppp/chap-secrets and add it. Welcome to visit https://teddysun.com/448.html Enjoy it!
其他事項:
1、腳本在安裝完成后,已自動啟動進程,並加入了開機自啟動。
2、腳本會改寫 iptables 或 firewalld 的規則。
3、腳本安裝時,會即時將安裝日志寫到 /root/l2tp.log 文件里,如果你安裝失敗,可以通過此文件來尋找錯誤信息。
增加用戶命令:
./l2tp.sh -a 新增用戶
./l2tp.sh -d 刪除用戶
./l2tp.sh -l 列出所有用戶
./l2tp.sh -h 幫助信息
管理命令:
ipsec status (查看 IPSec 運行狀態)
ipsec verify (查看 IPSec 檢查結果)
/etc/init.d/ipsec start|stop|restart|status (CentOS6 下使用)
/etc/init.d/xl2tpd start|stop|restart|status (CentOS6 下使用)
systemctl start|stop|restart|status ipsec (CentOS7 下使用)
systemctl start|stop|restart|status xl2tpd (CentOS7 下使用)
service ipsec start|stop|restart|status (Debian/Ubuntu 下使用)
service xl2tpd start|stop|restart (Debian/Ubuntu 下使用)