linux-networking – 如何将linux盒子连接到天蓝色的点到站点网关?

linux-networking – 如何将linux盒子连接到天蓝色的点到站点网关?,第1张

概述我最初的尝试是尝试使用互联网连接共享并将一台机器专用于前端 Linux机箱(只需转发大量端口),但连接到天蓝色VPN时连接共享似乎不起作用(我试过了Windows) 10,win2008R2到目前为止). 我也找不到任何支持必要协议的Linux VPN软件. 可以使用strongSwan(IKEv2)将Linux连接到Azure P2S.微软只是不打扰这个问题并坚持采取“不支持Linux的P2S” 我最初的尝试是尝试使用互联网连接共享并将一台机器专用于前端 Linux机箱(只需转发大量端口),但连接到天蓝色VPN时连接共享似乎不起作用(我试过了windows) 10,win2008R2到目前为止).

我也找不到任何支持必要协议的linux VPN软件.

解决方法 可以使用strongSwan(IKEv2)将linux连接到Azure P2S.微软只是不打扰这个问题并坚持采取“不支持linux的P2S”课程(这是他们在支持票据中回答我的问题).以下是根据证书的身份验证配置IKEv2的方法.

安装依赖项

以下是Ubuntu所需的软件包:

apt-get install strongswan-ikev2 strongswan-plugin-eap-tls# in Ubuntu 16.04 install libstrongswan-standard-plugins for p12 keypair container supportapt-get install libstrongswan-standard-plugins

如果你在Ubuntu 16.04中安装libstrongswan-extra-plugins包,它将破坏strongSwan.这个包包含af-alg,ctr和gcrypt插件,它们与openssl插件冲突.在这种情况下,您必须删除包含openssl插件的libstrongswan-standard-plugins包,或禁用openssl插件:

sudo sed -i 's/\sload =.*/ load = no/g' /etc/strongswan.d/charon/openssl.conf

或af-alg,ctr和gcrypt插件:

sudo sed -i 's/\sload =.*/ load = no/g' /etc/strongswan.d/charon/{af-alg,ctr,gcrypt}.conf

生成密钥和证书

您必须首先生成自己的CA,然后必须使用X509v3主题备用名称(SAN)扩展(strongSwan FAQ)生成用户证书,该证书应对应于证书主题的公用名(CN).即CN =客户端主题的证书必须包含DNS:客户端SAN.这将允许您在strongSwan中指定不带CN =前缀的EAP身份.默认情况下,strongSwan将完整证书主题作为EAP身份进行传输,但Azure VPN网关不支持此功能.您可以阅读有关CN与SAN历史记录的更多信息:http://unmitigatedrisk.com/?p=381.

# Generate CAipsec pki --gen --outform pem > caKey.pemipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem# Print CA certificate in base64 format,supported by Azure portal. Will be used later in this document.openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo# Generate user's certificate and put it into p12 bundle.export PASSWORD="password"export USERname="clIEnt"ipsec pki --gen --outform pem > "${USERname}Key.pem"ipsec pki --pub --in "${USERname}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERname}" --san "${USERname}" --flag clIEntAuth --outform pem > "${USERname}Cert.pem"# Generate p12 bundleopenssl pkcs12 -in "${USERname}Cert.pem" -inkey "${USERname}Key.pem" -certfile caCert.pem -export -out "${USERname}.p12" -password "pass:${PASSWORD}"

然后打开Azure门户,找到您的“虚拟网络网关”,并在“根证书”部分的“点对点”配置页面上粘贴上面打印的base64编码CA.

配置客户端

在网关的“站点到站点”配置页面上找到“下载VPN客户端”按钮,然后从下载的ZIP存档中解压缩VpnServerRoot.cer CA:

sudo unzip -j downloaded.zip Generic/VpnServerRoot.cer -d /etc/ipsec.d/cacerts

您可以使用以下命令进行验证:

openssl x509 -inform der -in /etc/ipsec.d/cacerts/VpnServerRoot.cer -text -noout

然后提取VPN服务器DNS:

$unzip -p downloaded.zip Generic/VpnSettings.xml | grep VpnServer  <VpnServer>azuregateway-00112233-4455-6677-8899-aabbccddeeff-aabbccddeeff.cloudapp.net</VpnServer>

在下面的ipsec.conf中使用VpnServer值作为正确的值和以%为前缀的rightID值.

然后将用户的p12包复制到相应的目录中:

sudo cp clIEnt.p12 /etc/ipsec.d/private/

使用以下/etc/ipsec.conf配置:

config setupconn azure  keyexchange=ikev2  type=tunnel  leftfirewall=yes  left=%any  leftauth=eap-tls  leftID=%clIEnt # use the DNS alternative name prefixed with the %  right=azuregateway-00112233-4455-6677-8899-aabbccddeeff-aabbccddeeff.cloudapp.net # Azure VPN gateway address  rightID=%azuregateway-00112233-4455-6677-8899-aabbccddeeff-aabbccddeeff.cloudapp.net # Azure VPN gateway address,prefixed with %  rightsubnet=0.0.0.0/0  leftsourceip=%config  auto=add

和/etc/ipsec.secrets内容:

: P12 clIEnt.p12 'password' # key filename insIDe /etc/ipsec.d/private directory

然后重新启动ipsec以重新读取配置并启动隧道:

sudo ipsec restartsudo ipsec up azure

MTU / MSS问题

由于MTU / MSS值较高且IKE Fragmentation,IPsec VPN客户端可能会遇到连接问题.要解决此问题,您必须明确设置MTU / MSS的1350值以及kernel-netlink strongSwan的charon配置(此配置仅适用于strongSwan版本> = 5.2.1).在/etc/strongswan.d/charon/kernel-netlink.conf配置文件中设置mtu和mss值:

mss = 1350mtu = 1350

并重新启动隧道:

sudo ipsec restartsudo ipsec up azure
总结

以上是内存溢出为你收集整理的linux-networking – 如何将linux盒子连接到天蓝色的点到站点网关?全部内容,希望文章能够帮你解决linux-networking – 如何将linux盒子连接到天蓝色的点到站点网关?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存