Margrop
Articles158
Tags353
Categories21
1password AC AP API AppDaemon Aqara Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MySQL NAS PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 启动 夏令时 天猫精灵 天翼云 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 抓包 描述文件 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络风暴 群晖 腾讯 虚拟机 证书 路由 路由器 软件管家 软路由 运维监控 镜像 镜像源 门窗传感器 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

如何使用CentOS 7运行N2N—supernode篇

如何使用CentOS 7运行N2N—supernode篇

超级节点(supernode):它允许边缘节点宣布和发现其他节点。它必须具有可在Internet上公开访问的端口。

先复习一下n2n的基本元素

n2n是一款轻型VPN软件,可轻松创建绕过中间防火墙的虚拟网络。
为了开始使用n2n,需要两个元素:

  • 一个超级节点(supernode):它允许边缘节点宣布和发现其他节点。它必须具有可在Internet上公开访问的端口。

  • 边缘节点(node):将成为虚拟网络一部分的节点。
    n2n中的多个边缘节点之间共享的虚拟网络称为社区(community)。单个超级节点可以中继多个社区,并且一台计算机可以同时成为多个社区的一部分。边缘节点可以使用加密密钥对社区中的数据包进行加密。

n2n尝试在可能的情况下通过udp在边缘节点之间建立直接的对等连接(p2p)。如果不可能(通常是由于特殊的NAT设备),则超级节点也用于中继数据包。


已编译好的文件

编译环境:
CentOS Linux release 7.9.2009 (Core)
Linux version 3.10.0-1160.11.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Dec 18 16:34:56 UTC 2020

1
2
yum install openssl
wget https://download.margrop.net/d/oneindex/network/n2n_2.8_stable/CentOS7/supernode -O supernode

手工启动supernode

  • 给予可执行权限

    若直接下载的可执行文件,请自行copy到下面的路径

1
chmod +x /usr/local/sbin/supernode
  • 测试是否能正常启动

    提示:下面的-l参数,请根据需求,自行修改

1
/usr/local/sbin/supernode -l 2345 -v
  • supernode参数简单解释,详情解释直接在命令行输入supernode
参数名 英文 中文 样例
-l Set UDP main listen port to 设置UDP的主要监听端口 -l 2345
-v Increase verbosity. Can be used multiple times 启动verbose模式,打印更多的日志 -v

自动启动supernode

  • 编辑systemctl的启动文件
1
vim /etc/systemd/system/supernode.service
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=N2N SuperNode Run On Port 2012 UDP
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/sbin/supernode -l 2345
TimeoutStartSec=0

[Install]
WantedBy=default.target
  • 启动服务
1
2
3
4
systemctl daemon-reload
systemctl stop supernode
systemctl start supernode
systemctl status supernode
  • 设置为自动启动
    1
    systemctl enable supernode

参考文献

1.n2n实现内网穿透

Author:Margrop
Link:http://blog.margrop.com/post/how-to-use-n2n-centos-supernode/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可