Ubuntu 18.04安装L2TP

有兴趣自行安装的可以参考以下文章:

http://yansu.org/2016/12/30/deploy-l2tp-on-ubuntu.html

https://bill.tt/2017/01/14/Ubuntu-16-04-%E9%85%8D%E7%BD%AEL2TP-VPN-Server/


亲测Ubuntu18.04一键安装脚本通过

16.04点击一下连接配置。本文章测试的18.04

Ubuntu 16.04 配置 L2TP over IPSec VPN 服务器

参考文章:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md#%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E

Ubuntu & Debian

首先,更新你的系统: 运行 apt-get update && apt-get dist-upgrade 并重启。这一步是可选的,但推荐。

要安装 VPN,请从以下选项中选择一个:

选项 1: 使用脚本随机生成的 VPN 登录凭证 (完成后会在屏幕上显示):

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
或者从本站下载:wget http://www.laihp.top/wordpress/vpnsetup.sh

选项 2: 编辑脚本并提供你自己的 VPN 登录凭证:

wget https://git.io/vpnsetup -O vpnsetup.sh
nano -w vpnsetup.sh
[替换为你自己的值: YOUR_IPSEC_PSK, YOUR_USERNAME 和 YOUR_PASSWORD]
sudo sh vpnsetup.sh

注: 一个安全的 IPsec PSK 应该至少包含 20 个随机字符。

选项 3: 将你自己的 VPN 登录凭证定义为环境变量:

# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='你的IPsec预共享密钥' \
VPN_USER='你的VPN用户名' \
VPN_PASSWORD='你的VPN密码' \
sh vpnsetup.sh

注: 如果无法通过 wget 下载,你也可以打开 vpnsetup.sh (或者 vpnsetup_centos.sh),然后点击右方的 Raw 按钮。按快捷键 Ctrl-A 全选, Ctrl-C 复制,然后粘贴到你喜欢的编辑器。

CentOS & RHEL

首先,更新你的系统: 运行 yum update 并重启。这一步是可选的,但推荐。

按照与上面相同的步骤,但是将 https://git.io/vpnsetup 换成 https://git.io/vpnsetup-centos

管理 VPN 用户

在默认情况下,将只创建一个用于 VPN 登录的用户账户。如果你需要添加,更改或者删除用户,请阅读本文档。

使用辅助脚本

你可以使用这些脚本来更方便地管理 VPN 用户:add_vpn_user.shdel_vpn_user.sh 和 update_vpn_users.sh。它们将同时更新 IPsec/L2TP 和 IPsec/XAuth (“Cisco IPsec”) 模式的用户。如果你需要更改 IPsec PSK,请阅读下一节。

注: VPN 用户信息保存在文件 /etc/ppp/chap-secrets 和 /etc/ipsec.d/passwd。脚本在修改这些文件之前会先做备份,使用 .old-日期-时间 为后缀。

添加或更改一个 VPN 用户

添加一个新 VPN 用户,或者为一个已有的 VPN 用户更改密码。

# 下载脚本
wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo sh add_vpn_user.sh 'username_to_add' 'password_to_add'

删除一个 VPN 用户

删除指定的 VPN 用户。

# 下载脚本
wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo sh del_vpn_user.sh 'username_to_delete'

更新所有的 VPN 用户

移除所有的 VPN 用户并替换为你指定的列表中的用户。

# 下载脚本
wget -O update_vpn_users.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/update_vpn_users.sh

要使用这个脚本,从以下选项中选择一个:

重要: 这个脚本会将你当前所有的 VPN 用户移除并替换为你指定的列表中的用户。如果你需要保留已有的 VPN 用户,则必须将它们包含在下面的变量中。

选项 1: 编辑脚本并输入 VPN 用户信息:

nano -w update_vpn_users.sh
[替换为你自己的值: YOUR_USERNAMES 和 YOUR_PASSWORDS]
sudo sh update_vpn_users.sh

选项 2: 将 VPN 用户信息定义为环境变量:

# VPN用户名和密码列表,用空格分隔
# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo \
VPN_USERS='用户名1 用户名2 ...' \
VPN_PASSWORDS='密码1 密码2 ...' \
sh update_vpn_users.sh

手动管理 VPN 用户和 PSK

首先,IPsec PSK (预共享密钥)保存在文件 /etc/ipsec.secrets。如果要更换一个新的 PSK,可以编辑此文件。完成后必须重启服务(见下面)。所有的 VPN 用户将共享同一个 IPsec PSK。

%any  %any  : PSK "你的IPsec预共享密钥"

对于 IPsec/L2TP,VPN 用户信息保存在文件 /etc/ppp/chap-secrets。该文件的格式如下:

"用户名1"  l2tpd  "密码1"  *
"用户名2"  l2tpd  "密码2"  *
... ...

你可以添加更多用户,每个用户对应文件中的一行。不要在用户名,密码或 PSK 中使用这些字符:\ " '

对于 IPsec/XAuth ("Cisco IPsec"),VPN 用户信息保存在文件 /etc/ipsec.d/passwd。该文件的格式如下:

用户名1:密码1的加盐哈希值:xauth-psk
用户名2:密码2的加盐哈希值:xauth-psk
... ...

这个文件中的密码以加盐哈希值的形式保存。该步骤可以借助比如 openssl 工具来完成:

# 以下命令的输出为:密码1的加盐哈希值
# 将你的密码用 '单引号' 括起来
openssl passwd -1 '密码1'

最后,如果你更改了 PSK,则必须重启服务。对于添加,更改或者删除 VPN 用户,一般不需重启。

service ipsec restart
service xl2tpd restart

内服服务器端口转发规则以及防火墙设置:

确保这几个端口做了映射:1701、500、4500、1723

客户端配置:

VPN来连接到公司网络


安装L2TP

安装中若遇到unable to locate package可以使用apt-get update解决,若实在不行也可以使用apt-get upgrade解决,更新源,再安装。

安装sudo apt-get install openswan ppp xl2tpd -y

如果Package ‘openswan‘ has no installation candidate,按照以下四步安装openswan

  • You can fork the repo directly from Git repository. Then cd into your forked repo
    git clone https://github.com/xelerance/Openswan.git fordername
    

    To use Openswan with the linux native (builtin) IPsec stack, make programs:

    sudo make install
    

    To use the Openswan KLIPS IPsec stack (ipsec0 devices) for Linux Kernels 2.6.23 and higher, make programs

    make KERNELSRC=/lib/modules/`uname -r`/build module
    sudo make KERNELSRC=/lib/modules/`uname -r`/build install minstall

 

发表评论

7,933 次浏览