# Linux 系统交大VPN使用说明-上海交通大学网络信息中心
**Source**: https://net.sjtu.edu.cn/info/1200/3296.htm
**Parent**: https://net.sjtu.edu.cn/xxfw/VPN.htm
- [主页](https://net.sjtu.edu.cn/index.htm)
- [中心概况](javascript:;)
- [中心简介](https://net.sjtu.edu.cn/zxgk/zxjj.htm)
- [部门领导](https://net.sjtu.edu.cn/zxgk/bmld.htm)
- [组织机构](https://net.sjtu.edu.cn/zxgk/zzjg.htm)
- [中心大事记](https://net.sjtu.edu.cn/zxgk/zxdsj.htm)
- [科研论文](https://net.sjtu.edu.cn/zxgk/kylw.htm)
- [荣誉奖项](https://net.sjtu.edu.cn/zxgk/ryjx.htm)
- [基层党建](javascript:;)
- [党建生活](https://net.sjtu.edu.cn/gzzd/djyd.htm)
- [党员风采](https://net.sjtu.edu.cn/gzzd/dyfc.htm)
- [学习园地](https://net.sjtu.edu.cn/gzzd/xxyd.htm)
- [信息服务](https://net.sjtu.edu.cn/xxfw/jwbApp.htm)
- [网络安全](javascript:;)
- [通告和预警](https://net.sjtu.edu.cn/wlaq/aqtg.htm)
- [安全服务](https://net.sjtu.edu.cn/wlaq/aqfw.htm)
- [联系我们](https://net.sjtu.edu.cn/lxwm.htm)
信息服务
[首页](https://net.sjtu.edu.cn/index.htm) /
[信息服务](javascript:;) /
[交大VPN](https://net.sjtu.edu.cn/xxfw/VPN.htm)
Linux 系统交大VPN使用说明
更新日期:2023年08月04日 08:11
本文以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设置。
[信息服务自助报修](https://form.sjtu.edu.cn/infoplus/form/self_help_repair/start)
上一条:[苹果电脑macOS系统交大VPN使用说明](https://net.sjtu.edu.cn/info/1200/3306.htm)
下一条:[苹果iPhone手机交大VPN使用说明](https://net.sjtu.edu.cn/info/1200/2668.htm)
[交我办](https://net.sjtu.edu.cn/xxfw/jwbApp.htm "交我办")
[jAccount账号](https://net.sjtu.edu.cn/xxfw/jaccountzh.htm "jAccount账号")
[思源码](https://net.sjtu.edu.cn/xxfw/sym.htm "思源码")
[电子邮件](https://net.sjtu.edu.cn/xxfw/dzyj.htm "电子邮件")
[VPN](https://net.sjtu.edu.cn/xxfw/VPN.htm "VPN")
[交大云盘](https://net.sjtu.edu.cn/xxfw/jBoxjdyp.htm "交大云盘")
[高性能计算服务](https://net.sjtu.edu.cn/xxfw/gxnjsfw.htm "高性能计算服务")
[jCloud交大云](https://net.sjtu.edu.cn/xxfw/jCloudjdy.htm "jCloud交大云")
[校园网接入](https://net.sjtu.edu.cn/xxfw/xywjr.htm "校园网接入")
[无线网接入](https://net.sjtu.edu.cn/xxfw/wxwl.htm "无线网接入")
[云视频会议](https://net.sjtu.edu.cn/xxfw/ysphy.htm "云视频会议")
[域名和网站](https://net.sjtu.edu.cn/xxfw/ym.htm "域名和网站")
[jAccount接口](https://net.sjtu.edu.cn/xxfw/jAccountjk.htm "jAccount接口")
[正版软件](https://software.sjtu.edu.cn/List/rjlb "正版软件")
[网络短信](https://net.sjtu.edu.cn/xxfw/wldx.htm "网络短信")
[IPV6](https://net.sjtu.edu.cn/xxfw/IPv6.htm "IPV6")
- [交我办](http://my.sjtu.edu.cn "交我办")
- [自助报修](https://form.sjtu.edu.cn/infoplus/form/self_help_repair/start "自助报修")
- [jAccount账号注册](https://jaccount.sjtu.edu.cn/profile/#/apply "jAccount账号注册")
- [LaTex文档助手](https://latex.sjtu.edu.cn)
- [忘记密码](https://jaccount.sjtu.edu.cn/profile/#/find "忘记密码")
- [校园卡延期](https://form.sjtu.edu.cn/infoplus/form/SchoolCardApplication/start "校园卡延期")
- [院系管理系统](https://sa.sjtu.edu.cn "院系管理系统")
- [网络计算费对账单](https://net.sjtu.edu.cn/xxfw/tyzd.htm "网络计算费对账单")
- 服务地址:
闵行校区:图书信息楼1楼
徐汇校区:教三楼1楼
[交我办](http://my.sjtu.edu.cn)
[自助报修](https://form.sjtu.edu.cn/infoplus/form/self_help_repair/start)
[jAccount账号注册](https://jaccount.sjtu.edu.cn/profile/#/apply)
[LaTex文档助手](https://latex.sjtu.edu.cn)
[忘记密码](https://jaccount.sjtu.edu.cn/profile/#/find)
[校园卡延期](https://form.sjtu.edu.cn/infoplus/form/SchoolCardApplication/start)
[院系管理系统](https://sa.sjtu.edu.cn)
微信公众号
交我办
[通知服务平台](https://notice.sjtu.edu.cn)
[AI语音服务](https://speech.sjtu.edu.cn)
[网络计算费对账单](https://net.sjtu.edu.cn/xxfw/tyzd.htm)