首页 > 分享 > Linux 系统交大VPN使用说明

Linux 系统交大VPN使用说明

  本文以Ubuntu 24.04系统为例,安装strongswan软件,配置VPN协议IKEv2。

  查看 Ubuntu 系统版本信息可以使用lsb_release 命令:

Shell$ lsb_release --all Distributor ID: Ubuntu Description:    Ubuntu 24.04.2 LTS Release:        24.04 Codename:       noble

安装VPN相关软件包

  使用包管理apt软件安装strongswan附属插件及相关工具:

sudo apt install strongswan strongswan-swanctl curl sudo apt install libstrongswan-extra-plugins libcharon-extra-plugins sudo apt install libcharon-extauth-plugins libstrongswan-standard-plugins

引入系统信任证书列表

  strongswan软件默认未配置信任证书,以下步骤将重新导入系统信任证书列表:

sudo rm -f /etc/ipsec.d/cacerts/* sudo ln -s /etc/ssl/certs/* /etc/ipsec.d/cacerts/

创建VPN连接

方式 1: 使用ipsec命令

  例子中的用户jAccount账号名假定为myname,密码假定为mypassword,请替换:

  编辑文件1 /etc/ipsec.conf

conn "sjtu-staff"     keyexchange=ikev2     left=%config     leftsourceip=%config4,%config6     leftauth=eap-peap     ike=aes128-sha1-modp1024, aes256-sha1-modp1024, 3des-sha1-modp1024!     esp=aes128-sha1-modp1024, aes128-sha2_256-modp1024, 3des-sha1-modp1024!     right=vpn.sjtu.edu.cn     rightid=%any     rightsendcert=never     rightsubnet=0.0.0.0/0,2000::/3     rightauth=pubkey     eap_identity="myname" # jAccount ID     auto=add     aaa_identity="@radius.net.sjtu.edu.cn"      conn "sjtu-student"     keyexchange=ikev2     left=%config     leftsourceip=%config4,%config6     leftauth=eap-peap     right=stu.vpn.sjtu.edu.cn     rightid=@stu.vpn.sjtu.edu.cn     rightsendcert=never     rightsubnet=0.0.0.0/0,2000::/3     rightauth=pubkey     eap_identity="myname" # jAccount ID     auto=add     aaa_identity="@radius.net.sjtu.edu.cn"

  编辑文件2. /etc/ipsec.secrets

"myname" : EAP "mypassword"

【注意】

1、其中“myname”是您jAccount账号名,“mypassword”是您jAccount密码。
2、":"冒号左右两侧均为空格,不可用TAB键。

  编辑文件3. /etc/strongswan.d/charon/revocation.conf

load = no

  重新启动VPN服务,并检查DNS配置,命令如下:

sudo ipsec restart resolvectl status

  DNS配置命令的输出示例:

Link 2(ens33) Current scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 116.228.xxx.xxx DNS Servers:116.228.xxx.xxx 180.168.xxx.xxx

【注意】

  上述示例输出中,ens33为网卡接口,DNS服务器地址是116.228.xxx.xxx、 180.168.xxx.xxx。 请用户记住本机对应的网卡接口名称和DNS服务器地址,后续可能用到。

  (可选)临时关闭(示例中ens33接口的)IPv6支持,可绕过部分运营商IPv6支持不完善的缺陷,命令如下:

sudo sysctl net.ipv6.conf.ens33.disable_ipv6=1

学生VPN也可以将配置中的stu.vpn.sjtu.edu.cn替换为stuv4.vpn.sjtu.edu.cn,避免使用IPv6连接服务器。

  连接VPN,命令如下:

sudo ipsec up "sjtu-staff"     #教职工VPN sudo ipsec up "sjtu-student"   #学生VPN

  检查VPN后DNS配置,命令如下:

resolvectl status

  如果VPN连接前后DNS配置没有更新,可能会导致网络异常,需要手工设置校内DNS,命令如下:

sudo resolvectl dns ens33 202.120.2.101 202.112.26.40

  通过DNS命令检查VPN工作状态,命令如下:

nslookup www.sjtu.edu.cn 202.120.2.100

  正常情况的响应示例:

Name:   www.sjtu.edu.cn Address: 202.120.2.114 Name:   www.sjtu.edu.cn Address: 2001:da8:8000:6181:202:120:2:114

  如果提示REFUSE,则可能当前VPN已断开,需要通过ipsec statusall命令来确认当前VPN连接状态

  如果提示timed out超时,可能是中间网络有阻碍VPN的机制,可尝试关闭IPv6,或更换其他网络

  通过curl命令检查VPN工作状态,命令如下:

curl whatismyip.sjtu.edu.cn curl v6.whatismyip.sjtu.edu.cn

  上述命令正常情况应该返回用户的当前IP地址,可以在VPN前后对比地址变化情况。

  如果命令没有成功返回结果,可加上调试参数查找问题,调整后的命令如下:

curl -v whatismyip.sjtu.edu.cn curl -v v6.whatismyip.sjtu.edu.cn

  如果出现Could not resolve host,说明存在域名问题,可能是域名拼写错误或DNS配置错误

  如果出现Trying 后长时间卡住,并出现Connection timed out提示,说明域名解析正常,但至目标服务器网络访问受阻,可用Ctrl-C键盘组合提前终止。

  如果出现Connected to,则说明连上目标服务器域名对应的IP。

  如果出现 HTTP/1.1 200 OK,说明目标服务器响应正常。

  断开VPN,命令如下:

sudo ipsec down "sjtu-staff"  #教职工VPN sudo ipsec down "sjtu-student"  #学生VPN sudo ipsec restart  # 重置VPN状态

  检查并恢复原DNS设置,以ens33网卡和116.228.xxx.xxx、180.168.xxx.xxx 服务器为例,命令如下:

resolvectl status  # 检查断开VPN后DNS是否恢复默认值 sudo resolvectl dns ens33 116.228.xxx.xxx 180.168.xxx.xxx   # 如未恢复,手工设置DNS resolvectl status  # 检查DNS设置效果

  (可选)恢复(示例中ens33接口的)IPv6支持,命令如下:

sudo sysctl net.ipv6.conf.ens33.disable_ipv6=0

方式 2: 使用swanctl命令

  编辑文件1 /etc/swanctl/conf.d/sjtuvpn.conf

  swanctl引用的配置目录/etc/swanctl/conf.d/

  示例文件名为 sjtuvpn.conf,内容如下,其中用户jAccount账号名假定为myname,密码假定为mypassword,请替换:

connections {  vpn-staff {   vips = 0.0.0.0,::   remote_addrs = vpn.sjtu.edu.cn   send_certreq = no   local {    auth = eap-peap    eap_id = myname    aaa_id = @radius.net.sjtu.edu.cn   }   remote {    auth = pubkey    id = %any   }   children {    vpn-staff {     remote_ts = 0.0.0.0/0,::/0     esp_proposals = aes128-sha1-modp1024, aes128-sha2_256-modp1024, 3des-sha1-modp1024,default    }   }   version = 2   mobike = no   proposals = aes128-sha1-modp1024, aes256-sha1-modp1024,3des-sha1-modp1024,default  }    vpn-student {   vips = 0.0.0.0,::   remote_addrs = stu.vpn.sjtu.edu.cn   send_certreq = no   local {    auth = eap-peap    eap_id = myname    aaa_id = @radius.net.sjtu.edu.cn   }   remote {    auth = pubkey    id = @stu.vpn.sjtu.edu.cn   }   children {    vpn-student {    remote_ts = 0.0.0.0/0,::/0    }   }   version = 2   mobike = no  }  } secrets {  eap-jaccount {   id = myname   secret = "mypassword"  } }

  编辑文件2. /etc/strongswan.d/charon/revocation.conf

load = no

  重新读取VPN配置,命令如下:

sudo ipsec restart sudo swanctl --load-all

  连接VPN,命令如下:

sudo swanctl -i --child vpn-staff     #教职工VPN sudo swanctl -i --child vpn-student   #学生VPN

  断开VPN,命令如下

sudo swanctl -t --ike vpn-staff     #教职工VPN sudo swanctl -t --ike vpn-student   #学生VPN

检查VPN是否生效

  可通过命令行执行如下命令,查看连接VPN前后,命令反馈的IP地址是否发生变化

curl whatismyip.sjtu.edu.cn curl v6.whatismyip.sjtu.edu.cn

检查DNS是否生效

  如下命令可以查看DNS设置:

resolvectl dns

  在VPN连接前后运行该命令并记录结果,用于对比确认VPN是否正确的设置学校DNS服务器,及用于恢复时的配置备份;
 在VPN断开后运行该命令,用于确认VPN是否正确恢复了用户原始DNS设置。

 如果VPN未成功调整DNS配置,可以通过命令手工设置DNS。
 如下命令将用户网卡eth0设置为使用学校DNS服务器:

resolvectl dns eth0 202.120.2.101 202.112.26.40 resolvectl dns eth0 2001:da8:8000:1:202:120:2:101  2001:da8:8000:1:202:112:26:40

  注意:断开交大VPN后,请及时恢复用户设备原有DNS设置。

相关知识

kali linux渗透教程书籍(kali linux制作随身u盘)
Linux防疫手册:提高安全性的必备指南 (linux防毒)
学校VPN使用指南
南开大学VPN服务
在职教工使用VPN访问学校网站/系统的方法和常见问题答疑
如何在Linux系统上监测系统温度?(亲测可用)
linux 系统前置显示PS1设置
掌握技巧:如何正确观察Linux SUSE操作系统 (怎么看linux suse)
Linux系统中如何使用netstat命令查看端口状态及解决端口冲突问题
ZKEYS公有云管理系统可以管理虚拟主机吗? (主机宝linux版有什么用)

网址: Linux 系统交大VPN使用说明 https://m.huajiangbk.com/newsview2287527.html

所属分类:花卉
上一篇: 苹果iPhone手机交大VPN使
下一篇: VPN Setup Guide