群晖NAS安装VPN Server 套件三种服务协议设定
我们在群晖nas里安装VPN Server 套件可以把我们的群晖nas变成一个VPN服务器,我们可以安全的在远端存取Synology NAS 局域网内分享的资源,群晖的VPN server整合了常用的通讯协定: PPTP、OpenVPN 、 L2TP/IPSec,当我们启用了nas的vpn服务,会影响系统的网络性能。
我们先来了解一下三种协议:
PPTP
PPTP (Point-to-Point Tunneling Protocol,点对点信道协议) 是常用的 VPN 解决方案,且大多数的客户端 (包含 Windows、Mac、Linux 及行动装置) 皆支持。
若要启动 PPTP VPN 服务器:
1、开启 VPN Server 并前往左侧面板的 PPTP。
2、勾选启动 PPTP VPN 服务器。
3、在动态 IP 地址字段输入 VPN 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。
4、设定最大联机数量来限制 VPN 联机的共同联机数量。
5、设定同一账号最多联机数量来限制使用同一个账号所进行 VPN 联机的共同联机数量。
6、从认证下拉式选单中选择下列任一项目来认证 VPN 客户端:
PAP:认证过程中,将不加密 VPN 客户端的密码。
MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 VPN 客户端的密码。
7、若您选择 MS-CHAP v2 验证,请从加密下拉式选单中选择下列任一项目来加密 VPN 联机:
No MPPE:VPN 联机不会受到加密机制保护。
Optional MPPE:客户端设定将决定 VPN 联机会 / 不会受到 40-bit 或 128-bit 加密机制保护。
Require MPPE:客户端设定将决定 VPN 联机会受到 40-bit 或 128-bit 加密机制保护。
8、设定 MTU (最大传输单元) 来限制 VPN 网络传输的数据封包大小。
9、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 PPTP 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。
10、单击套用来让变更生效。
注意:
联机至 VPN 时,VPN 客户端的验证及加密设定必须与 VPN Server 上的相同,否则客户端将无法成功联机。
为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 PPTP 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。
请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 TCP 1723 端口已开启。
部分路由器内建 PPTP VPN 服务,因此可能已占用 1723 端口。您需先透过路由器的管理接口关闭其内建的 PPTP VPN 服务,才能确保 VPN Server 上的 PPTP VPN 服务可以正常运作。此外,部分旧式路由器可能会封锁 GRE 协议 (IP 协议 47),造成 VPN 联机失败;建议使用支持 VPN pass-through 联机的路由器。
OpenVPN
OpenVPN 是开放原始码的 VPN 服务解决方案,会以 SSL / TLS 加密机制保护 VPN 联机。
若要启动 OpenVPN VPN 服务器:
1、开启 VPN Server,前往左侧面板的 OpenVPN。
2、勾选启动 OpenVPN 服务器。
3、在动态 IP 地址字段输入 VPN 服务器的虚拟内部 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。
4、设定最大联机数量来限制 VPN 联机的共同联机数量。
5、设定同一账号最多联机数量来限制使用同一个账号进行 VPN 联机的共同联机数量。
6、为 OpenVPN 数据传输设定端口与通讯协议。您可以决定要将何种协议的数据封包透过 VPN 转送至 Synology NAS 的哪个端口。默认值为 UDP 端口 1194
注意: 为确保 Synology NAS 上的服务可以正常运作,请避免将同样的一组端口与通讯协议指派给其他 Synology 服务。请参阅此篇应用教学以了解更多信息。
7、在加密下拉式选单中择一,以加密 VPN 信道中的数据封包。
8、在验证下拉式选单中择一,以验证 VPN 客户端。
9、若要在传输数据时压缩数据,请勾选启动 VPN 压缩联机。此选项可提升传输速度,但可能会消耗较多系统资源。
10、勾选允许客户端存取服务器的局域网络来让客户端存取服务器的局域网络。
11、勾选启动 IPv6 服务器模式来启动 OpenVPN 服务器,以传送 IPv6 地址。您必须先在控制面板 网络 网络接口中,透过 6in4/6to4/DHCP-PD 取得 Prefix,并在此页面中选择该 Prefix。
12、单击套用来让变更生效。
注意:
VPN Server 不支持站台对站台的桥接模式。
请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 UDP 1194 端口已开启。
在 Windows Vista 或 Windows 7 上执行 OpenVPN GUI 时,请注意,UAC (用户帐户控制) 预设为开启。此设定开启时,需使用以系统管理员身份执行选项来透过 OpenVPN GUI 进行联机。
在 Windows 上透过 OpenVPN GUI 启动 IPv6 服务器模式时,请注意以下事项:
VPN 所使用的接口名称不可包含空格,例如:LAN 1 须变更为 LAN1。
重新导向网关 (redirect-gateway) 选项须由客户端于 openvpn.ovpn 档案中设定。若您不想设定此选项,应手动设定 VPN 接口的 DNS。您可以使用 Google IPv6 DNS:2001:4860:4860::8888。
若要汇出配置文件:
单击汇出配置文件。OpenVPN 让 VPN 服务器可颁发证书供客户端使用。所汇出的档案为 zip 压缩文件,其中包含 ca.crt (VPN 服务器的凭证档案)、openvpn.ovpn (客户端使用的配置文件案),以及 README.txt (客户端如何设定 OpenVPN 联机的简易说明)。
注意:
每次启动 VPN Server 时,便会自动复制、使用显示于控制面板 安全性 凭证之凭证。若您需使用第三方凭证,请到控制台 安全性 凭证 新增来汇入凭证,并重新启动 VPN Server。
每次修改凭证文件 (显示于控制面板 安全性 凭证) 后,VPN Server 将会自动重新启动。
L2TP/IPSec
L2TP (Layer 2 Tunneling Protocol) over IPSec 提供更安全的虚拟私有网络,且大多数的客户端 (如 Windows、Mac、Linux 及行动装置) 皆支持。
若要启动 L2TP/IPSec VPN 服务器:
1、开启 VPN Server 并前往左侧面板的 L2TP/IPSec。
2、勾选启动 L2TP/IPSec VPN 服务器。
3、在动态 IP 地址字段输入 VPN 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。
4、设定最大联机数量来限制 VPN 联机的共同联机数量。
5、设定同一账号最多联机数量来限制使用同一个账号进行 VPN 联机的共同联机数量。
6、从认证下拉式选单中选择下列任一项目来认证 VPN 客户端:
PAP:认证过程中,将不加密 VPN 客户端的密码。
MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 VPN 客户端的密码。
7、设定 MTU (最大传输单元) 来限制 VPN 网络传输的数据封包大小。
8、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 L2TP/IPSec 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。
9、若要发挥 VPN 最大效能,选取执行核心 (kernel) 模式。
10、输入并确认预先共享密钥。您应将此密钥提供给 L2TP/IPSec VPN 使用者以验证联机。
11、勾选启动 SHA2-256 兼容模式 (96 bit),以让特定客户端 (非 RFC 标准) 可以使用 L2TP/IPSec 联机。
12、单击套用来让变更生效。
注意:
联机至 VPN 时,VPN 客户端的验证及加密设定必须与 VPN Server 上的设定相同,否则客户端将无法成功进行联机。
为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 L2TP/IPSec 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。
请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,以确认 UDP 1701、500、4500 端口已开启。
部分路由器内建 L2TP 或 IPSec VPN 服务,因此可能已占用 1701、500 或 4500 端口。您需先透过路由器的管理接口关闭其内建的 L2TP 或 IPsec VPN 服务,才能确保 VPN Server 上的 L2TP/IPsec VPN 服务可以正常运作。建议使用支持 VPN pass-through 联机的路由器。
关于动态 IP 地址
VPN Server 会依据您在动态 IP 地址中输入的数字,从虚拟 IP 地址范围中选择一个 IP 地址来分配给 VPN 客户端使用。例如:若 VPN 服务器的动态 IP 地址设定为「10.0.0.0」,则 PPTP VPN 客户端的虚拟 IP 地址范围为「10.0.0.1」至「10.0.0.[最大联机数量]」;OpenVPN 客户端的虚拟 IP 地址范围则为「10.0.0.2」至「10.0.0.255」。
重要事项: 指定 VPN 服务器的动态 IP 地址之前,请注意:
1、VPN 服务器可使用的动态 IP 地址必须为下列其一:
从「10.0.0.0」至「10.255.255.0」
从「172.16.0.0」至「172.31.255.0」
从「192.168.0.0」至「192.168.255.0」
2、您指定的 VPN 服务器动态 IP 地址以及指派给 VPN 客户端的虚拟 IP 地址,皆不能与局域网络中任一已使用的 IP 地址冲突。
关于客户端进行 VPN 联机时使用的网关设定
使用 VPN 联机至 Synology NAS 的局域网络之,客户端可能需要为 VPN 联机变更网关设定;否则,在 VPN 联机建立之后,它们可能会无法联机至因特网。
怎么在路由器里设置穿透
1,首先登陆路由器,在浏览器里输入路由IP,一般路由的IP地址为192.168.1.1。
2,账号和密码根据说明书介绍输入,一般账号和密码都是admin或者guest
3,登陆以后,根据路由的型号不同,可以在安全、防火墙、系统服务、转发规则等找到针对VPN的设置选项。
4,在系统服务里,穿透防火墙勾上PPTP、IPSEC保存后就可以直接使用VPN了。
思科防火墙ASA5520 ipsec vpn 配置实例
ASA Local:
ASA Version 7.X
no names
!
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 30.30.30.1 255.255.255.0
!— This line allows the unicast of OSPF over the IPsec tunnel.
ospf network point-to-point non-broadcast
!— This line is optional and not required for OSPF to work.
!— Enable this option only if you want to enable MD5 digest for OSPF.
ospf message-digest-key 10 md5 cisco
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 10.10.10.1 255.255.255.0
!
interface GigabitEthernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
no nameif
no security-level
no ip address
!
enable password cisco encrypted
passwd cisco encrypted
hostname Local
ftp mode passive
!— These access control list (ACL) entries define
!— interesting traffic for IPsec encryption and allow
!— the traffic to bypass NAT. Note that OSPF is permitted and only
!— in the crypto ACL.
same-security-traffic permit intra-interface
access-list nonat extended permit ip 10.10.10.0 255.255.255.0 20.20.20.0 255.255.255.0
access-list outside_cryptomap_10 extended permit ip 10.10.10.0 255.255.255.0 20.20.20.0 255.255.255.0
access-list outside_cryptomap_10 extended permit ospf interface outside host 40.40.40.2
pager lines 24
mtu outside 1500
mtu inside 1500
no failover
icmp permit any echo outside
icmp permit any echo-reply outside
icmp permit any echo inside
icmp permit any echo-reply inside
asdm image disk0:/asdm-502.bin
no asdm history enable
arp timeout 14400
global (outside) 10 interface
!— Do not translate traffic with NAT.
nat (inside) 0 access-list nonat
nat (inside) 10 10.10.10.0 255.255.255.0
!
!— This is OSPF.
!— Note: You must define the outside network of the remote peer.
router ospf 100
network 10.10.10.0 255.255.255.0 area 0
network 30.30.30.0 255.255.255.0 area 0
network 40.40.40.0 255.255.255.0 area 0
!— This is where OSPF is told where the
!— PEER is located.
neighbor 40.40.40.2 interface outside
log-adj-changes
!
!— This is a host based static. This is not always
!— necessary, but recommended to prevent recursive routing loops when
!— OSPF comes up over the IPsec tunnel.
route outside 40.40.40.2 255.255.255.255 30.30.30.2 1
route outside 0.0.0.0 0.0.0.0 30.30.30.2 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 sunrpc 0:10:00
h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
http server enable
http 192.168.4.50 255.255.255.255 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp
!— This is the IPsec and IKE/ISAKMP configuration.
!— Make sure basic IPsec connectivity is present
!— before you add in OSPF.
crypto ipsec transform-set myset esp-3des esp-sha-hmac
crypto map outside_map 10 match address outside_cryptomap_10
crypto map outside_map 10 set peer 40.40.40.2
crypto map outside_map 10 set transform-set myset
crypto map outside_map 10 set security-association lifetime seconds 86400
crypto map outside_map interface outside
isakmp identity address
isakmp enable outside
isakmp policy 10 authentication pre-share
isakmp policy 10 encryption 3des
isakmp policy 10 hash md5
isakmp policy 10 group 2
isakmp policy 10 lifetime 86400
isakmp policy 65535 authentication pre-share
isakmp policy 65535 encryption 3des
isakmp policy 65535 hash sha
isakmp policy 65535 group 2
isakmp policy 65535 lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
tunnel-group 40.40.40.2 type ipsec-l2l
tunnel-group 40.40.40.2 ipsec-attributes
pre-shared-key cisco
class-map inspection_default
match default-inspection-traffic
policy-map asa_global_fw_policy
class inspection_default
inspect dns maximum-length 512
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
service-policy asa_global_fw_policy global
Cryptochecksum:3d5f16a67ec0fa20aa3882acaa348e28
: end
ASA Remote:
ASA Version 7.X
no names
!
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 40.40.40.2 255.255.255.0
!— This line allows the unicast of OSPF over to
!— the IPsec tunnel.
ospf network point-to-point non-broadcast
!— This line is optional and not required for OSPF to work.
!— Enable this option only if you want to enable MD5 digest for OSPF.
ospf message-digest-key 10 md5 cisco
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 20.20.20.1 255.255.255.0
!
interface GigabitEthernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
no nameif
no security-level
no ip address
!
enable password cisco encrypted
passwd cisco encrypted
hostname Remote
ftp mode passive
!— These ACL entries define interesting traffic for IPsec encryption and allow
!— the traffic to bypass NAT. Note that OSPF is permitted and only in the crypto ACL.
same-security-traffic permit intra-interface
access-list nonat extended permit ip 20.20.20.0 255.255.255.0 10.10.10.0 255.255.255.0
access-list crypto extended permit ip 20.20.20.0 255.255.255.0 10.10.10.0 255.255.255.0
access-list crypto extended permit ospf interface outside host 30.30.30.1
pager lines 24
mtu outside 1500
mtu inside 1500
no failover
icmp permit any echo outside
icmp permit any echo-reply outside
icmp permit any echo inside
icmp permit any echo-reply inside
asdm image disk0:/asdm-502.bin
no asdm history enable
arp timeout 14400
global (outside) 20 interface
!— Do not translate traffic with NAT.
nat (inside) 0 access-list nonat
nat (inside) 20 20.20.20.0 255.255.255.0
!
!— This is OSPF.
!— Note: You must define the remote peer’s outside network.
router ospf 100
network 20.20.20.0 255.255.255.0 area 0
network 30.30.30.0 255.255.255.0 area 0
network 40.40.40.0 255.255.255.0 area 0
!— This is where the OSPF is told where the PEER is located.
neighbor 30.30.30.1 interface outside
log-adj-changes
!
!— This is a host based static. This is not always necessary, but recommended to
prevent recursive routing loops when OSPF comes up over the IPsec tunnel.
route outside 0.0.0.0 0.0.0.0 40.40.40.1 1
route outside 30.30.30.1 255.255.255.255 40.40.40.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 sunrpc 0:10:00
h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
http server enable
http 192.168.4.50 255.255.255.255 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp
!— This is the IPsec configuration. Make sure basic IPsec connectivity is present
before you add in OSPF.
crypto ipsec transform-set myset esp-3des esp-sha-hmac
crypto map vpn 10 match address crypto
crypto map vpn 10 set peer 30.30.30.1
crypto map vpn 10 set transform-set myset
crypto map vpn interface outside
isakmp identity address
isakmp enable outside
isakmp policy 10 authentication pre-share
isakmp policy 10 encryption 3des
isakmp policy 10 hash md5
isakmp policy 10 group 2
isakmp policy 10 lifetime 86400
isakmp policy 65535 authentication pre-share
isakmp policy 65535 encryption 3des
isakmp policy 65535 hash sha
isakmp policy 65535 group 2
isakmp policy 65535 lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
tunnel-group 30.30.30.1 type ipsec-l2l
tunnel-group 30.30.30.1 ipsec-attributes
pre-shared-key cisco
class-map inspection_default
match default-inspection-traffic
policy-map asa_global_fw_policy
class inspection_default
inspect dns maximum-length 512
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
service-policy asa_global_fw_policy global
Cryptochecksum:3d5f16a67ec0fa20aa3882acaa348e28
: end
两台思科做了 ipsec vpn 但是无法远程桌面
你把电脑网卡的mtu调小到1400,试试了。怎么调小电脑网卡的mtu,可以看我“百度空间”上的文章。如果是windows远程桌面的默认接口,是3389,你可以先在cmd下,用telnet x.x.x.x 3389测试一下,是否tcp是通的。
有两台H3C路由,OSPF一直处于Exchange状态,需要手动reset ospf all才能完成收敛,但过一会又转为Exchange
两端的mtu值不一样查看两个接口信息,
dis int xx,mtu小的接口强制设置mtu
在接口模式下,mtu 1500,
此故障就是ospf的lsdb报文没过去,所以停留此状态。
如何在Ubuntu下配置L2TP VPN
安装软件包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打开 /etc/ipsec.conf 文件,做如下配置:
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,%v4:!10.152.2.0/24
# 这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,
# 这些地址范围应该是你的NAT路由器后面的客户端的地址。
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
# Apple 的 iOS 不会发送 delete 提醒,
# 所以我们需要通过死亡对端(dead peer)检测来识别断掉的客户端
dpddelay=30
dpdtimeout=120
dpdaction=clear
# 设置 ikelifetime 和 keylife 和 Windows 的默认设置一致
ikelifetime=8h
keylife=1h
type=transport
# 替换 IP 地址为你的本地IP (一般是,私有地址、NAT内的地址)
left=x.x.x.x
# 用于升级过的 Windows 2000/XP 客户端
leftprotoport=17/1701
# 要支持老的客户端,需要设置 leftprotoport=17/%any
right=%any
rightprotoport=17/%any
# 强制所有连接都NAT,因为 iOS
forceencaps=yes
注意你的ipsec.conf文件,”config setup” 和 ”L2TP-PSK-NAT”、 ”L2TP-PSK-NAT”应该顶着行头写,而其它行应该以8个空格缩进。
打开 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK ”somegoodpassword”
这里x.x.x.x 替换为你的服务器的IP地址,并设置一个复杂的密码。
启动 IPSEC 服务:
/etc/init.d/ipsec start
使用如下命令确认 ipsec 是否工作正常:
sudo ipsec verify
应该没有任何错误才行:
Checking your system to see ifIPsec got installed and started correctly:
Version check and ipsec on-path [OK]
LinuxOpenswan U2.6.28/K2.6.32-32-generic-pae (netkey)
CheckingforIPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500[OK]
Pluto listening for NAT-T on udp 4500[OK]
Checkingfor’ip’ command [OK]
Checkingfor’iptables’ command [OK]
OpportunisticEncryptionSupport[DISABLED]
在 /etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:
case”$1”in
start)
echo ”Starting my Ipsec VPN”
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24-j 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 start
/etc/init.d/xl2tpd start
;;
stop)
echo ”Stopping my Ipsec VPN”
iptables –table nat –flush
echo 0 /proc/sys/net/ipv4/ip_forward
/etc/init.d/ipsec stop
/etc/init.d/xl2tpd stop
;;
restart)
echo ”Restarting my Ipsec VPN”
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j 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
/etc/init.d/xl2tpd restart
;;
*)
echo ”Usage: /etc/init.d/ipsec.vpn {start|stop|restart}”
exit 1
;;
esac
这会配置防火墙转发。记得修改上面文件的本地IP地址池10.152.2.0/24为你自己的。
然后给这个文件设置可执行权限:
sudo chmod 755 ipsec.vpn
禁止默认的 ipsec 服务脚本运行:
sudo update-rc.d -f ipsec remove
然后,启用我们刚才定制的这个:
sudo update-rc.d ipsec.vpn defaults
L2TP
修改 /etc/xl2tpd/xl2tpd.conf :
[global]
ipsec saref =no
[lns default]
ip range =10.152.2.2-10.152.2.254
local ip =10.152.2.1
require chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile =/etc/ppp/options.xl2tpd
length bit = yes
配置说明如下:
ip range = 可以连接VPN服务的客户端IP地址范围
local ip = VPN 服务器的IP,必须在客户端IP范围之外
refuse pap = 拒绝 pap 认证
ppp debug = 测试时打开
选择一个复杂的挑战-响应式验证字符串。虽然没有最短长度限制,不过它应该至少有16个字符,也应该足够复杂才能保证安全。
打开文件 /etc/xl2tpd/l2tp-secrets ,填入你的密码:
** exampleforchallengestring
打开文件 /etc/ppp/options.xl2tpd,做如下配置:
refuse-mschap-v2
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
idle 1800
mtu 1200
mru 1200
lock
hide-password
local
#debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
ms-dns 选项设置要给客户端分配的 DNS 服务器,当客户端连接时,就会被分配这些 DNS。如果要加入多个 DNS,就每行一个,分别写几行。
如果你要给客户端推送wins设置,可以分别设置如下选项。
mtu 和 mru 按照openswan.org的说法,减小 mru/mtu 的大小非常重要。因为 l2tp/ipsec 会封装几次,可能导致性能下降,减小这个配置的大小可以一次性传输全部的包。
proxyarp 可以将连接的客户端的IP地址和以太网地址加入的系统的ARP表中。这会影响到本地局域网内其它客户端。
name l2tpd 用在 PPP验证文件里面。
添加用户
打开文件 /etc/ppp/chap-secrets ,做如下配置:
user1 l2tpd chooseagoodpassword *
user2 * chooseagoodpassword *
每行包括如下字段:
客户端 = 用户名称
服务器 = 在上面的 /etc/ppp/options.xl2tpd 定义的名字
密码 = 用户密码,你应该设置一个足够复杂的密码
IP 地址 = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接
注意:你可以添加多个用户。
IP转发
![ipsecmtu(群晖NAS安装VPN Server 套件三种服务协议设定)](https://urenkz.king379.tk/wp-content/uploads/2023/03/86d4e02c3b16ab771f81171c14f90589.png)
打开文件 /etc/sysctl.conf,修改配置:
net.ipv4.ip_forward=1
载入新的配置:
sysctl -p
启动VPN
sudo /etc/init.d/ipsec.vpn restart
sudo /etc/init.d/xl2tpd restart
排除故障
如果遇到了问题,以下命令可以帮助你找到问题:
sudo tcpdump -i ppp0
sudo tail -f /var/log/auth.log
sudo tail -f /var/log/syslog
你可以可以在服务器上使用如下命令来监控:
sudo tcpdump -i eth0 host aaa.bbb.ccc.ddd andnot port ssh
这里aaa.bbb.ccc.ddd 是你的客户端的公网地址。
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://urenkz.com/wp-content/themes/zibll/img/feef5032a5a9.png)
暂无评论内容