599 字
3 分钟
Ubuntu搭建n2n并托管到systemd
之前只是临时用windows服务器运行了n2n的服务端,教程:使用N2N搭建虚拟局域网联机游戏(EasyN2N\小黄鸭) | Bug侠,确实比较方便,但是服务器配置比较低,用windows系统基本就干不了别的什么东西了,所以考虑把n2n搭建到Ubuntu上
Ubuntu搭建n2n
这里采用编译安装的方法:
wget https://github.com/ntop/n2n/archive/refs/tags/3.0.tar.gztar xzvf 3.0.tar.gzcd n2n-3.0./autogen.sh./configuremake && make install
字母 | 全称 | 作用 |
---|---|---|
x | extract | 解压模式(必须选项,表示要解压文件) |
z | gzip | 用 gzip 解压(处理 .tar.gz 或 .tgz 文件时需此选项) |
v | verbose | 显示解压过程的详细信息(列出正在解压的文件名,可选但推荐) |
f | file | 指定要操作的文件名(必须选项,后接文件名) |
自动判断压缩类型(较新版本):
使用 -a
或 --auto-compress
可让 tar
自动检测压缩类型:
-
Terminal window tar xavf 文件名.tar.gz # 自动识别 gzip/bzip2/xz 等
如果wget特别慢或者连接不上,可以考虑本地下载上传到服务器,或者给服务器配置梯子后在服务器开启梯子直接下载
安装后,直接以守护模式启动的命令:
#实际使用时,可以去掉 -f 参数,使其后台运行 9527是对应端口号supernode -p 9527 -f
然后检查Ubuntu的防火墙和服务器提供商的安全组,确保9527端口已开放,接下来就可以通过客户端进行连接了,这篇教程里有客户端的链接:使用N2N搭建虚拟局域网联机游戏(EasyN2N\小黄鸭) | Bug侠
托管到systemd
考虑到通过supernode以守护模式运行后,想关闭的话还得先查找进程的PID,才能通过kill -9 <PID>
杀掉进程,长期使用不如ststemd方便管理,以下是托管到systemd的操作。
首先创建n2n.service文件:
sudo vim /etc/systemd/system/n2n.service
将下列内容输入文件中:
[Unit]Description=N2N SuperNode (VPN Overlay Network)After=network.target
[Service]Type=simpleUser=rootExecStart=/root/n2n-3.0/supernode -p 9527 -f # 监听端口9527,-f强制前台运行,因为上面Type=simple,如果不强制前台运行就不能设置为simpleRestart=always # 崩溃后自动重启RestartSec=5s # 5秒后重启StandardOutput=syslog # 日志输出到 syslogStandardError=syslogSyslogIdentifier=n2n-supernode # 日志标识
[Install]WantedBy=multi-user.target
修改systemd配置后需要重新加载:
sudo systemctl daemon-reload
然后就可以通过systemctl来启动了
Ubuntu搭建n2n并托管到systemd
https://fuwari.cbba.top/posts/ubuntu搭建n2n并托管到systemd/