1. 安裝openswan
apt-get install openswan
2.打開 /etc/ipsec.conf 文件,做如下配置:
其中,virtual_privat這里包含的網絡地址允許配置為遠程客戶端所在的子網。換句話說,這些地址范圍應該是NAT路由器后面的客戶端的地址。
設置 ikelifetime 和 keylife 和 Windows 的默認設置一致。
將%your_server_ip% 替換成此服務器的ip。
要支持老的客戶端,需要設置 leftprotoport=17/%any ,否則可以設置leftprotoport=17/1701。
(重要!)注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"應該頂着行頭寫,而其它行應該以8個空格縮進。
3.打開 /etc/ipsec.secrets,配置:
將%your_server_ip% 替換成此服務器的ip。any前面那個%不要刪除。“this_is_your_psk”是預共享密鑰。
4.啟動 IPSEC 服務,確認 ipsec 是否工作正常:
/etc/init.d/ipsec start 或者service ipsec restart
ipsec verify
以上配置經測能正常運行。出現SAref kernel support為[N/A]情況,看其他人教程修改xl2tpd.conf中的ipsec saref = no可以修正,本人測試未能實現,但為[N/A]情況不影響vpn搭建與使用。
5./etc/init.d 下創建一個名為 ipsec.vpn 的文件,內容如下:
這會配置防火牆轉發。記得修改上面文件的本地IP地址池10.1.2.0/24為你自己的。
然后給這個文件設置可執行權限:chmod 755 ipsec.vpn
禁止默認的 ipsec 服務腳本運行:update-rc.d -f ipsec remove
然后,啟用我們剛才定制的這個:update-rc.d ipsec.vpn defaults
6.安裝l2tp: apt-get install xl2tpd
修改 /etc/xl2tpd/xl2tpd.conf :
將%your_server_ip% 替換成此服務器的ip
7. 打開文件 /etc/ppp/options.xl2tpd,做如下配置:
將%your_dns_1%和%your_dns_2%替換成可以使用的DNS
7.打開文件 /etc/ppp/chap-secrets ,做如下配置:
user為登陸的用戶名,pass為登陸的密碼。
server = 在上面的 /etc/ppp/options.xl2tpd 定義的名字。*表示任意。
IP addresses = * 表示用戶可以從任何地址連接,否則設置用戶只能從特定的地址連接
8.配置ip轉發,/etc/sysctl.conf
文檔中注釋太多,找語句太難,選擇在文檔最后添加如下語句:
載入新的配置: sysctl -p
9.啟動vpn:
/etc/init.d/ipsec.vpn restart 或者 service ipsec.vpn restart
/etc/init.d/xl2tpd restart 或者 service xl2tpd restart
10.至此,vpn配置完畢,可進行測試鏈接。經測試,手機可正常連接,windows10 操作系統可正常連接。
windows 8操作系統無法正常連接,原因點這里
11. 調試方法:
ipsec服務的日志在/var/log/auth.log. 出現下面記錄時,說明ipsec啟動成功。
xl2tpd服務日志在/var/log/syslog。進行如下配置,可將其單獨輸出:
在/etc/rsyslog.d/中新建文件20-xltpd.conf,配置如下:
然后service rsyslog restart, xl2tpd日志會單獨輸出到/var/log/xl2tpd.log
你可以可以在服務器上使用如下命令來監控:tcpdump -i eth0 host aaa.bbb.ccc.ddd and not port ssh.這里aaa.bbb.ccc.ddd 是你的客戶端的公網地址。
ubuntu日志中沒有message文件的解決方法:vim /etc/rsyslog.d/50-default.conf ,找到輸出到message的語句,取消掉注釋即可。
iptables的一些配置見下面的教程。
最后,重要事情說三遍:
千萬不要隨便刪除日志文件!
千萬不要隨便刪除日志文件!
千萬不要隨便刪除日志文件!