要在 IPv6 网络中设置 VPN,您需要执行与针对 IPv4 网络执行的步骤相同的步骤。但是,命令的语法稍有不同。有关运行特定命令的更详尽的原因说明,请参见如何使用通过 IPv4 实现的处于隧道模式的 IPsec 隧道保护 VPN中的相应步骤。
在两个系统中执行此过程中的步骤。
此过程使用以下配置参数。
参数 |
欧洲 |
加利福尼亚 |
||
---|---|---|---|---|
系统名称 |
|
|
||
系统内联网接口 |
|
|
||
系统 Internet 接口 |
|
|
||
系统内联网地址 |
|
|
||
系统 Internet 地址 |
|
|
||
Internet 路由器名称 |
|
|
||
Internet 路由器地址 |
|
|
||
隧道名称 |
|
|
在系统控制台上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。
在配置 IPsec 之前控制包流。
有关这些命令的作用,请参见步骤 2中的如何使用通过 IPv4 实现的处于隧道模式的 IPsec 隧道保护 VPN。
# routeadm Configuration Current Current Option Configuration System State -------------------------------------------------- … IPv6 forwarding disabled disabled IPv6 routing disabled disabled |
如果已启用 IP 转发和 IP 动态路由功能,您可以通过键入以下内容来禁用它们:
# routeadm -d ipv6-forwarding -d ipv6-routing # routeadm -u |
打开 IP 严格目标多宿主。
# ndd -set /dev/ip ip6_strict_dst_multihoming 1 |
系统引导时,会将 ip6_strict_dst_multihoming 的值恢复为缺省值。要使更改的值具有持久性,请参见如何防止 IP 电子欺骗。
禁用多数网络服务,也可能会禁用所有网络服务。
如果系统中安装了“受限制的”SMF 配置文件,则可以跳过此步骤。将禁用网络服务(Solaris 安全 Shell 除外)。
禁用网络服务可防止 IP 包危害系统。例如,可以采用 SNMP 守护进程、telnet 连接或 rlogin 连接。
选择以下选项之一:
如果运行的是 Solaris 10 11/06 发行版或更高版本,请运行“受限制的”SMF 配置文件。
# netservices limited |
否则,单独禁用网络服务。
# svcadm disable network/ftp:default # svcadm disable network/finger:default # svcadm disable network/login:rlogin # svcadm disable network/nfs/server:default # svcadm disable network/rpc/rstat:default # svcadm disable network/smtp:sendmail # svcadm disable network/telnet:default |
检验是否已禁用大多数网络服务。
检验回送挂载和 ssh 服务是否正在运行。
# svcs | grep network online Aug_02 svc:/network/loopback:default ... online Aug_09 svc:/network/ssh:default |
在两个系统间添加一对 SA。
选择以下选项之一:
将 IKE 配置为管理 SA 的密钥。请使用配置 IKE(任务列表)中的过程之一来为 VPN 配置 IKE。
如果您有充分的理由来手动管理密钥,请参见如何手动创建 IPsec 安全关联。
编辑 /etc/inet/ipsecinit.conf 文件来为 VPN 添加 IPsec 策略。
在 enigma 系统上,将以下项键入到 ipsecinit.conf 文件中:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:6666::aaaa:1116 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
在 partym 系统上,将以下项键入到 ipsecinit.conf 文件中:
# IPv6 Neighbor Discovery messages bypass IPsec. {ulp ipv6-icmp type 133-137 dir both} pass {} # LAN traffic to and from this host can bypass IPsec. {laddr 6000:3333::eeee:1113 dir both} bypass {} # WAN traffic uses ESP with AES and SHA-1. {tunnel ip6.tun0 negotiate tunnel} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
(可选的)检验 IPsec 策略文件的语法。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
要配置隧道并使用 IPsec 对其加以保护,请根据 Solaris 发行版执行相应步骤:
使用创建的 IPsec 策略保护隧道。
# svcadm refresh svc:/network/ipsec/policy:default |
要将隧道配置文件的内容读入内核,请重新启动网络服务。
# svcadm restart svc:/network/initial:default |
确保路由协议不在内联网内通告缺省的路由。
手动添加通过 hme0 实现的缺省路由。
要完成该过程,请转至步骤 22 运行路由协议。
以下步骤用于在运行 Solaris 10 4/09 发行版之前的发行版的系统中配置隧道。
在 enigma 系统上键入以下命令:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:6666::aaaa:1116 6000:3333::eeee:1113 \ tsrc 2001::aaaa:6666:6666 tdst 2001::eeee:3333:3333 |
在 partym 系统上键入以下命令:
# ifconfig ip6.tun0 inet6 plumb # ifconfig ip6.tun0 inet6 6000:3333::eeee:1113 6000:6666::aaaa:1116 \ tsrc 2001::eeee:3333:3333 tdst 2001::aaaa:6666:6666 |
使用创建的 IPsec 策略保护隧道。
# ipsecconf |
初启隧道的路由器。
# ifconfig ip6.tun0 router up |
# ifconfig hme1 router |
确保路由协议不在内联网内通告缺省的路由。
# ifconfig hme0 private |
手动添加通过 hme0 实现的缺省路由。
缺省路由必须是可以直接访问 Internet 的路由器。
通过向 /etc/hostname6.ip6.tun0 文件中添加项来确保 VPN 在系统重新引导后启动。
该项复制在步骤 14 中传递到 ifconfig 命令的参数。
在每个系统上,将接口文件配置为将正确的参数传送到路由选择守护进程。
在 enigma 系统上,修改 /etc/hostname6. interface 文件。
# cat /etc/hostname6.hme0 ## enigma 6000:6666::aaaa:1116 inet6 private |
# cat /etc/hostname6.hme1 ## enigma 2001::aaaa:6666:6666 inet6 router |
在 partym 系统上,修改 /etc/hostname6. interface 文件。
# cat /etc/hostname6.hme0 ## partym 6000:3333::eeee:1113 inet6 private |
# cat /etc/hostname6.hme1 ## partym 2001::eeee:3333:3333 inet6 router |
运行路由协议。
# routeadm -e ipv6-routing # routeadm -u |
您可能需要在运行路由协议之前先配置路由协议。有关更多信息,请参见Oracle Solaris : 中的路由协议。有关过程,请参见配置 IPv6 路由器。