问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec

发布网友 发布时间:2022-04-24 02:13

我来回答

1个回答

热心网友 时间:2023-10-21 06:26

首先解释一个问题:在 iPhone 的 VPN 设置介面里(Settings >> General >> Network >> VPN),你可以看到三个标签:L2TP, PPTP, IPSec。但上面我们又讲本次介绍的 VPN 方式叫「L2TP / IPSec」,这两者究竟是什么关系?

  这三个标签确实令人混淆,准确的写法应该是:L2TP over IPSec, PPTP, Cisco IPSec。PPTP 跟另外两者关系不大,且大家较为熟悉,暂且不提,L2TP 和 IPSec 的区别如下。

  L2TP:一个「包装」协议,本身并不提供加密和验证的功能。

  IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。

  本来,只用 IPSec 就可以实现 VPN,Mac OS X 和 Linux 都支持。但是 Mac OS X 和 iPhone OS 都推荐使用 L2TP over IPSec,在两者的图形介面上也只能设置这个。L2TP / IPSec 是业界标准,微软也支持。而只用 IPSec 的常见于 Linux-to-Linux 的应用,比如将两个位于不同地区的办公室网络安全地连在一起。这多是固定 IP 路由器到固定 IP 路由器级别的连接,只需保证数据包不被中途截获或者伪造就可以,故使用 L2TP 的意义不大。L2TP / IPSec 主要是实现所谓「Road Warrior」的设置,即用变动的客户端连固定的服务器。

  Cisco 的 VPN 用的也是 IPSec 加密,但那是一套不同于 L2TP 的私有包装协议,用于提供用户管理之类的功能,因此一般都需要用 Cisco 自家的 VPN 客户端连接。iPhone / iPad 的 VPN 设置介面中的 IPSec 标签里有 Cisco 的标识,就是这个原因。

  以下是在 Ubuntu 和 Debian 主机上架设 L2TP / IPSec VPN 的步骤,一共十四步。你需要有服务器的 root 权限(所以 DreamHost, BlueHost, MediaTemple 这些服务供应商帮你把一切打点周到的主机就无缘了),也需要一些基本的 Linux 知识。不然的话,我们还是推荐您找一位比较熟技术的朋友帮忙。

  一、安装 IPSec。如上所述,IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。我推荐用 openswan 这个后台软件包来跑 IPSec。

  用以下命令安装 openswan:

  sudo aptitude install openswan二、用文字编辑器打开 /etc/ipsec.conf,改成这样:

  version 2.0
  config setup
  nat_traversal=yes
  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
  oe=off
  protostack=netkey

  conn L2TP-PSK-NAT
  rightsubnet=vhost:%priv
  also=L2TP-PSK-noNAT

  conn L2TP-PSK-noNAT
  authby=secret
  pfs=no
  auto=add
  keyingtries=3
  rekey=no
  ikelifetime=8h
  keylife=1h
  type=transport
  left=YOUR.SERVER.IP.ADDRESS
  leftprotoport=17/1701
  right=%any
  rightprotoport=17/%any三、用文字编辑器打开 /etc/ipsec.secrets,改成这样:

  YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"(别忘了把「YOUR.SERVER.IP.ADDRESS」这部分换成你的服务器的 IP 地址,把「YourSharedSecret」部分换成随便一个字串,例如你喜欢的一句话,等等。)

  四、运行以下命令:

  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done五、检查一下 IPSec 能否正常工作:

  sudo ipsec verify如果在结果中看到「Opportunistic Encryption Support」被禁用了,没关系,其他项 OK 即可。

  六、重启 openswan:

  sudo /etc/init.d/ipsec restart七、安装 L2TP。常用的 L2TP 后台软件包是 xl2tpd,它和 openswan 是同一帮人写的。

  运行以下命令:

  sudo aptitude install xl2tpd八、用文字编辑器打开 /etc/xl2tpd/xl2tpd.conf,改成这样:

  [global]
  ipsec saref = yes

  [lns default]
  ip range = 10.1.2.2-10.1.2.255
  local ip = 10.1.2.1
  ;require chap = yes
  refuse chap = yes
  refuse pap = yes
  require authentication = yes
  ppp debug = yes
  pppoptfile = /etc/ppp/options.xl2tpd
  length bit = yes这里要注意的是 ip range 一项里的 IP 地址不能和你正在用的 IP 地址重合,也不可与网络上的其他 IP 地址冲突。

  九、安装 ppp。这是用来管理 VPN 用户的。

  sudo aptitude install ppp十、检查一下 /etc/ppp 目录里有没有 options.xl2tpd 这个文件,没有的话就建一个,文件内容如下:

  require-mschap-v2
  ms-dns 208.67.222.222
  ms-dns 208.67.220.220
  asyncmap 0
  auth
  crtscts
  lock
  hide-password
  modem
  debug
  name l2tpd
  proxyarp
  lcp-echo-interval 30
  lcp-echo-failure 4注意 ms-dns 两行我填的是 OpenDNS。如果你想用其他的 DNS 服务器(例如谷歌的公共 DNS),请自行更换。

  十一、现在可以添加一个 VPN 用户了。用文字编辑器打开 /etc/ppp/chap-secrets:

  # user server password ip
  test l2tpd testpassword *如果你之前设置过 PPTP VPN,chap-secrets 文件里可能已经有了其他用户的列表。你只要把 test l2tpd testpassword * 这样加到后面即可。

  十二、重启 xl2tpd:

  sudo /etc/init.d/xl2tpd restart十三、设置 iptables 的数据包转发:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward十四、因为某种原因,openswan 在服务器重启后无法正常自动,所以我们可以在 /etc/rc.local 文件里写入如下语句:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward
  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done
  /etc/init.d/ipsec restart到这里,设置工作已经基本完成。你可以用 iPhone 或 iPad 试着连一下。记得在「Secret」中填入你在上述第三步里填的 YourSharedSecret。

  如果连接成功,上网也没问题的话,恭喜你,大功告成。如果连不上,恐怕还得多做一步。

  Ubuntu 9.10 自带的 openswan 版本是 2.6.22, Debian Lenny 带的版本是 2.4.12。这两个版本的 openswan 都有问题。我们的测试结果表明,2.6.24 版的 openswan 可以在上述两版的 Linux 操作系统下正常工作。所以如果做完以上十四步还是连不上的话,请考虑从源码编译 openswan 2.6.24

热心网友 时间:2023-10-21 06:26

首先解释一个问题:在 iPhone 的 VPN 设置介面里(Settings >> General >> Network >> VPN),你可以看到三个标签:L2TP, PPTP, IPSec。但上面我们又讲本次介绍的 VPN 方式叫「L2TP / IPSec」,这两者究竟是什么关系?

  这三个标签确实令人混淆,准确的写法应该是:L2TP over IPSec, PPTP, Cisco IPSec。PPTP 跟另外两者关系不大,且大家较为熟悉,暂且不提,L2TP 和 IPSec 的区别如下。

  L2TP:一个「包装」协议,本身并不提供加密和验证的功能。

  IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。

  本来,只用 IPSec 就可以实现 VPN,Mac OS X 和 Linux 都支持。但是 Mac OS X 和 iPhone OS 都推荐使用 L2TP over IPSec,在两者的图形介面上也只能设置这个。L2TP / IPSec 是业界标准,微软也支持。而只用 IPSec 的常见于 Linux-to-Linux 的应用,比如将两个位于不同地区的办公室网络安全地连在一起。这多是固定 IP 路由器到固定 IP 路由器级别的连接,只需保证数据包不被中途截获或者伪造就可以,故使用 L2TP 的意义不大。L2TP / IPSec 主要是实现所谓「Road Warrior」的设置,即用变动的客户端连固定的服务器。

  Cisco 的 VPN 用的也是 IPSec 加密,但那是一套不同于 L2TP 的私有包装协议,用于提供用户管理之类的功能,因此一般都需要用 Cisco 自家的 VPN 客户端连接。iPhone / iPad 的 VPN 设置介面中的 IPSec 标签里有 Cisco 的标识,就是这个原因。

  以下是在 Ubuntu 和 Debian 主机上架设 L2TP / IPSec VPN 的步骤,一共十四步。你需要有服务器的 root 权限(所以 DreamHost, BlueHost, MediaTemple 这些服务供应商帮你把一切打点周到的主机就无缘了),也需要一些基本的 Linux 知识。不然的话,我们还是推荐您找一位比较熟技术的朋友帮忙。

  一、安装 IPSec。如上所述,IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。我推荐用 openswan 这个后台软件包来跑 IPSec。

  用以下命令安装 openswan:

  sudo aptitude install openswan二、用文字编辑器打开 /etc/ipsec.conf,改成这样:

  version 2.0
  config setup
  nat_traversal=yes
  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
  oe=off
  protostack=netkey

  conn L2TP-PSK-NAT
  rightsubnet=vhost:%priv
  also=L2TP-PSK-noNAT

  conn L2TP-PSK-noNAT
  authby=secret
  pfs=no
  auto=add
  keyingtries=3
  rekey=no
  ikelifetime=8h
  keylife=1h
  type=transport
  left=YOUR.SERVER.IP.ADDRESS
  leftprotoport=17/1701
  right=%any
  rightprotoport=17/%any三、用文字编辑器打开 /etc/ipsec.secrets,改成这样:

  YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"(别忘了把「YOUR.SERVER.IP.ADDRESS」这部分换成你的服务器的 IP 地址,把「YourSharedSecret」部分换成随便一个字串,例如你喜欢的一句话,等等。)

  四、运行以下命令:

  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done五、检查一下 IPSec 能否正常工作:

  sudo ipsec verify如果在结果中看到「Opportunistic Encryption Support」被禁用了,没关系,其他项 OK 即可。

  六、重启 openswan:

  sudo /etc/init.d/ipsec restart七、安装 L2TP。常用的 L2TP 后台软件包是 xl2tpd,它和 openswan 是同一帮人写的。

  运行以下命令:

  sudo aptitude install xl2tpd八、用文字编辑器打开 /etc/xl2tpd/xl2tpd.conf,改成这样:

  [global]
  ipsec saref = yes

  [lns default]
  ip range = 10.1.2.2-10.1.2.255
  local ip = 10.1.2.1
  ;require chap = yes
  refuse chap = yes
  refuse pap = yes
  require authentication = yes
  ppp debug = yes
  pppoptfile = /etc/ppp/options.xl2tpd
  length bit = yes这里要注意的是 ip range 一项里的 IP 地址不能和你正在用的 IP 地址重合,也不可与网络上的其他 IP 地址冲突。

  九、安装 ppp。这是用来管理 VPN 用户的。

  sudo aptitude install ppp十、检查一下 /etc/ppp 目录里有没有 options.xl2tpd 这个文件,没有的话就建一个,文件内容如下:

  require-mschap-v2
  ms-dns 208.67.222.222
  ms-dns 208.67.220.220
  asyncmap 0
  auth
  crtscts
  lock
  hide-password
  modem
  debug
  name l2tpd
  proxyarp
  lcp-echo-interval 30
  lcp-echo-failure 4注意 ms-dns 两行我填的是 OpenDNS。如果你想用其他的 DNS 服务器(例如谷歌的公共 DNS),请自行更换。

  十一、现在可以添加一个 VPN 用户了。用文字编辑器打开 /etc/ppp/chap-secrets:

  # user server password ip
  test l2tpd testpassword *如果你之前设置过 PPTP VPN,chap-secrets 文件里可能已经有了其他用户的列表。你只要把 test l2tpd testpassword * 这样加到后面即可。

  十二、重启 xl2tpd:

  sudo /etc/init.d/xl2tpd restart十三、设置 iptables 的数据包转发:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward十四、因为某种原因,openswan 在服务器重启后无法正常自动,所以我们可以在 /etc/rc.local 文件里写入如下语句:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward
  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done
  /etc/init.d/ipsec restart到这里,设置工作已经基本完成。你可以用 iPhone 或 iPad 试着连一下。记得在「Secret」中填入你在上述第三步里填的 YourSharedSecret。

  如果连接成功,上网也没问题的话,恭喜你,大功告成。如果连不上,恐怕还得多做一步。

  Ubuntu 9.10 自带的 openswan 版本是 2.6.22, Debian Lenny 带的版本是 2.4.12。这两个版本的 openswan 都有问题。我们的测试结果表明,2.6.24 版的 openswan 可以在上述两版的 Linux 操作系统下正常工作。所以如果做完以上十四步还是连不上的话,请考虑从源码编译 openswan 2.6.24

热心网友 时间:2023-10-21 06:26

首先解释一个问题:在 iPhone 的 VPN 设置介面里(Settings >> General >> Network >> VPN),你可以看到三个标签:L2TP, PPTP, IPSec。但上面我们又讲本次介绍的 VPN 方式叫「L2TP / IPSec」,这两者究竟是什么关系?

  这三个标签确实令人混淆,准确的写法应该是:L2TP over IPSec, PPTP, Cisco IPSec。PPTP 跟另外两者关系不大,且大家较为熟悉,暂且不提,L2TP 和 IPSec 的区别如下。

  L2TP:一个「包装」协议,本身并不提供加密和验证的功能。

  IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。

  本来,只用 IPSec 就可以实现 VPN,Mac OS X 和 Linux 都支持。但是 Mac OS X 和 iPhone OS 都推荐使用 L2TP over IPSec,在两者的图形介面上也只能设置这个。L2TP / IPSec 是业界标准,微软也支持。而只用 IPSec 的常见于 Linux-to-Linux 的应用,比如将两个位于不同地区的办公室网络安全地连在一起。这多是固定 IP 路由器到固定 IP 路由器级别的连接,只需保证数据包不被中途截获或者伪造就可以,故使用 L2TP 的意义不大。L2TP / IPSec 主要是实现所谓「Road Warrior」的设置,即用变动的客户端连固定的服务器。

  Cisco 的 VPN 用的也是 IPSec 加密,但那是一套不同于 L2TP 的私有包装协议,用于提供用户管理之类的功能,因此一般都需要用 Cisco 自家的 VPN 客户端连接。iPhone / iPad 的 VPN 设置介面中的 IPSec 标签里有 Cisco 的标识,就是这个原因。

  以下是在 Ubuntu 和 Debian 主机上架设 L2TP / IPSec VPN 的步骤,一共十四步。你需要有服务器的 root 权限(所以 DreamHost, BlueHost, MediaTemple 这些服务供应商帮你把一切打点周到的主机就无缘了),也需要一些基本的 Linux 知识。不然的话,我们还是推荐您找一位比较熟技术的朋友帮忙。

  一、安装 IPSec。如上所述,IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。我推荐用 openswan 这个后台软件包来跑 IPSec。

  用以下命令安装 openswan:

  sudo aptitude install openswan二、用文字编辑器打开 /etc/ipsec.conf,改成这样:

  version 2.0
  config setup
  nat_traversal=yes
  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
  oe=off
  protostack=netkey

  conn L2TP-PSK-NAT
  rightsubnet=vhost:%priv
  also=L2TP-PSK-noNAT

  conn L2TP-PSK-noNAT
  authby=secret
  pfs=no
  auto=add
  keyingtries=3
  rekey=no
  ikelifetime=8h
  keylife=1h
  type=transport
  left=YOUR.SERVER.IP.ADDRESS
  leftprotoport=17/1701
  right=%any
  rightprotoport=17/%any三、用文字编辑器打开 /etc/ipsec.secrets,改成这样:

  YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"(别忘了把「YOUR.SERVER.IP.ADDRESS」这部分换成你的服务器的 IP 地址,把「YourSharedSecret」部分换成随便一个字串,例如你喜欢的一句话,等等。)

  四、运行以下命令:

  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done五、检查一下 IPSec 能否正常工作:

  sudo ipsec verify如果在结果中看到「Opportunistic Encryption Support」被禁用了,没关系,其他项 OK 即可。

  六、重启 openswan:

  sudo /etc/init.d/ipsec restart七、安装 L2TP。常用的 L2TP 后台软件包是 xl2tpd,它和 openswan 是同一帮人写的。

  运行以下命令:

  sudo aptitude install xl2tpd八、用文字编辑器打开 /etc/xl2tpd/xl2tpd.conf,改成这样:

  [global]
  ipsec saref = yes

  [lns default]
  ip range = 10.1.2.2-10.1.2.255
  local ip = 10.1.2.1
  ;require chap = yes
  refuse chap = yes
  refuse pap = yes
  require authentication = yes
  ppp debug = yes
  pppoptfile = /etc/ppp/options.xl2tpd
  length bit = yes这里要注意的是 ip range 一项里的 IP 地址不能和你正在用的 IP 地址重合,也不可与网络上的其他 IP 地址冲突。

  九、安装 ppp。这是用来管理 VPN 用户的。

  sudo aptitude install ppp十、检查一下 /etc/ppp 目录里有没有 options.xl2tpd 这个文件,没有的话就建一个,文件内容如下:

  require-mschap-v2
  ms-dns 208.67.222.222
  ms-dns 208.67.220.220
  asyncmap 0
  auth
  crtscts
  lock
  hide-password
  modem
  debug
  name l2tpd
  proxyarp
  lcp-echo-interval 30
  lcp-echo-failure 4注意 ms-dns 两行我填的是 OpenDNS。如果你想用其他的 DNS 服务器(例如谷歌的公共 DNS),请自行更换。

  十一、现在可以添加一个 VPN 用户了。用文字编辑器打开 /etc/ppp/chap-secrets:

  # user server password ip
  test l2tpd testpassword *如果你之前设置过 PPTP VPN,chap-secrets 文件里可能已经有了其他用户的列表。你只要把 test l2tpd testpassword * 这样加到后面即可。

  十二、重启 xl2tpd:

  sudo /etc/init.d/xl2tpd restart十三、设置 iptables 的数据包转发:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward十四、因为某种原因,openswan 在服务器重启后无法正常自动,所以我们可以在 /etc/rc.local 文件里写入如下语句:

  iptables --table nat --append POSTROUTING --jump MASQUERADE
  echo 1 > /proc/sys/net/ipv4/ip_forward
  for each in /proc/sys/net/ipv4/conf/*
  do
  echo 0 > $each/accept_redirects
  echo 0 > $each/send_redirects
  done
  /etc/init.d/ipsec restart到这里,设置工作已经基本完成。你可以用 iPhone 或 iPad 试着连一下。记得在「Secret」中填入你在上述第三步里填的 YourSharedSecret。

  如果连接成功,上网也没问题的话,恭喜你,大功告成。如果连不上,恐怕还得多做一步。

  Ubuntu 9.10 自带的 openswan 版本是 2.6.22, Debian Lenny 带的版本是 2.4.12。这两个版本的 openswan 都有问题。我们的测试结果表明,2.6.24 版的 openswan 可以在上述两版的 Linux 操作系统下正常工作。所以如果做完以上十四步还是连不上的话,请考虑从源码编译 openswan 2.6.24
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... 高达seed高清重制版和旧版有什么区别? 荒岛求生老版本哪个稳定并且可玩性高 荒岛余生哪个版本最好玩 miui上测试outlook通知不通过 网络服务器地址怎么查询?怎么填? 老版鲁滨逊漂流记连续剧中央一台播放 L2TP是为在用户和企业的服务器之间透明传输PPP报文而设置的隧道协议,它包括以下哪些特性? 哆啦a梦大雄一个人漂流到一个岛一个人生活很多年后才回去这是哪集 服务器地址怎么填 鲁滨孙漂流记不算鲁滨逊漂流记的盗版吧? 你如何看待大量用户被踢出MIUI内测这件事? 关于服务器计算机证书和L2TP的问题 2021新版的六年级下册语文书人教版和旧版的有什么区别 常说的miui测试是什么颜色星期几 关于L2TP 与PPTP 的区别 起风了这首歌旧版与新版区别 如何在windows 7中设置L2TP 空气炸锅里有蒸汽。蒸汽凝成水滴。继续烤会有危险吗? 鲁宾逊漂流记的逊念什么?念xun还是sun??? 九阳空气炸锅sf5用后为什么有水溢出 新飘流幻境和老飘流幻境有什么区别? 《鲁宾孙漂流记》主要情节 95244425是什么电话? PPTP,L2TP,IPSec和SSL 的区别 初中生请进 如何在Windows系统中设置L2TP 凤歌的全部作品有哪些? 荒岛求生类PC游戏....旧版的很多都玩过了,我想问下有没有新出的游戏... 一般就是求生 搜集物品然后逃脱。 通常说miui测试是什么色星期几? 老版武侠电视剧 miui开发版测试通过了,怎么刷入开发版? 谁给介绍一下哆啦A梦新版、旧版、外传的信息! 小米内测申请测试题怎么过80? 四天前我删去了QQ上的好友,怎么找回来? 颈椎炎的早期患者,背部疼痛是什么原因呢? 背部到颈椎酸痛 ,一般是什么原因? 颈椎病后背疼痛怎么办? 后背颈椎骨疼怎么回事 腰酸背痛特别是颈椎,怎么回事 后背老是颈椎疼痛,要怎么办 背心颈椎疼痛是怎么回事