洛北的小窝

Luobei

EasyTier 共享节点搭建完整教程

16
2025-11-16
EasyTier 共享节点搭建完整教程

本教程内容涉及MC共享节点搭建、配置 fail2ban和封海外。下面开始教程。

一. 搭建EasyTier 共享节点

1. 需要准备的东西

  • 一台有公网的X86_64服务器(家庭动态公网V4本文不涉及)

  • 一个ssh软件

2. 部署EasyTier

本文使用XTerminal来进行ssh连接。

输入你的账户密码和端口连接到服务器(本文使用root用户登陆),连接完成应该是这样的。

然后输入以下命令下载并解压EasyTier

#如果报错先执行 sudo apt update && sudo apt install unzip
wget https://gh-proxy.org/https://github.com/EasyTier/EasyTier/releases/download/v2.4.5/easytier-linux-x86_64-v2.4.5.zip && unzip easytier-linux-x86_64-v2.4.5.zip

下面开始写服务文件来让linux的系统服务来管理EasyTier的启动和停止,我们先创建EasyTier的系统服务文件

sudo nano /etc/systemd/system/easytier.service

进入输入状态后,输入以下内容

[Unit]
Description=EasyTier Core
After=network.target

[Service]
Type=simple
#只开启TCP转发(提供MC中续服务够了),然后替换名称和密码,如果是使用root用户,那么启动路径不用变
ExecStart=/root/easytier-linux-x86_64/easytier-core --network-name 你的网络名称 --network-secret 你的网络密码 --listeners tcp://0.0.0.0:11010
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

编辑完成后,ctrl+O保存 ctrl+X退出编辑。

然后输入以下代码重载系统服务并启动EasyTier

sudo systemctl daemon-reload && sudo systemctl enable --now easytier.service

最后在你的云服务商的防火墙开启11010端口

3. 配置 fail2ban(防止奇奇怪怪的人扫描你)

下面以Ubuntu为例

#安装fail2ban
sudo apt update && sudo apt install fail2ban

#配置日志过滤器
sudo bash -c 'cat > /etc/fail2ban/filter.d/easytier.conf <<EOF
[Definition]
failregex = remote: \S+://<HOST>:\d+, err: wait resp error:.+
EOF'

#配置 jail
#此处的策略代表:findtime=600s 内尝试 maxretry=3 次失败,则会被关进小黑屋(阻止访问)bantime=3600s 一小时。
sudo bash -c 'cat > /etc/fail2ban/jail.local <<EOF
[easytier]
enabled = true
filter  = easytier
backend = systemd
journalmatch = "_SYSTEMD_UNIT=easytier.service"
maxretry = 3
bantime  = 3600
findtime = 600
banaction = nftables-multiport
EOF'

#配置好后,重载 fail2ban
sudo fail2ban-client reload
# 会输出OK
#配置后,检查运行状态,可以看到已经阻止的客户端列表:
sudo fail2ban-client status easytier

#会输出以下内容
#Status for the jail: easytier
#|- Filter
#|  |- Currently failed: 11
#|  |- Total failed:     4742
#|  `- Journal matches:  _SYSTEMD_UNIT=easytier.service
#`- Actions
#   |- Currently banned: 99
#   |- Total banned:     663
#   `- Banned IP list:   ***

#此段代码基本照搬EasyTier文档,更新于2025年11月16日

4. 封海外(避免一些额外的风险)

先确认你现在使用国内IP在ssh连接服务器,如果身在国外,那么你会失联。

4.1 先修改DNS为国内的DNS

sudo bash -c 'echo -e "nameserver 119.29.29.29\nnameserver 223.5.5.5" > /etc/resolv.conf'

4.2 安装 ipset(必需)

sudo apt install ipset -y

4.3 下载中国大陆 IP 列表

curl -sSL https://ispip.clang.cn/all_cn.txt -o /root/china_ip_list.txt

#文件内容示例
#1.0.1.0/24
#1.0.2.0/23
#1.0.8.0/21
#……

4.4 创建中国 IP 列表(ipset)

sudo ipset destroy china 2>/dev/null
sudo ipset create china hash:net maxelem 250000

4.5 把所有中国网段加入 ipset

for i in `cat /root/china_ip_list.txt`; do ipset add china $i; done

4.6 设置 iptables 拦截海外访问(核心步骤)

完全屏蔽所有海外 IP(包括 SSH)

iptables -I INPUT -m set ! --match-set china src -j DROP
iptables -I FORWARD -m set ! --match-set china src -j DROP

意思是:

  • 如果访问者 不在中国大陆 IP 网段

  • 直接 DROP(不回复、不握手)

防止踢掉你当前 SSH:允许已建立连接继续生效

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

5.7 保存规则(重启不丢)

apt install netfilter-persistent -y
netfilter-persistent save