git资源:https://github.com/EasyTier
把资源下载下来放到自定义目录下
easytier-core.exe --ipv4 10.21.x.x --peers udp://47.106.x.x:11x -n 192.168.0.0/24 --no-listener
参数说明
--ipv4 10.21.x.x
指定本地节点的 IPv4 地址为 10.21.x.x。
这是该节点在网络中的唯一标识。
--peers udp://47.106.x.x:11x
指定对等节点(peer)的地址为47.106.x.x,使用 UDP 协议,端口号为 11x。
该节点会尝试连接到这个对等节点以加入网络。
-n 192.168.0.0/24
指定网络地址为 192.168.0.0/24。
这表示该节点将加入或管理的子网范围是 192.168.0.0 到 192.168.0.255。
--no-listener
禁用本地监听功能。
这意味着该节点不会监听来自其他节点的连接请求,但仍可以主动连接到指定的对等节点。
如果需要监听别的节点的连接请求,完成组网则不需要--no-listener
会增加一个虚拟网卡,ip为指定的10.21.x.x来和云端内网10.21.x.x来组网
echo '1'> /proc/sys/net/ipv4/ip_forward
临时开启ip转发(若不开启,则仅本机可通云主机47.106.x.x的内网网段172.16.x.x,192.168.0.0/24其他ip不可通),重启机器将失效
永久生效方式:
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
sysctl -p
配置Linux系统中的iptables规则,主要用于网络地址转换(NAT)
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ens34 -j MASQUERADE
参数说明
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
这条命令在NAT表的POSTROUTING链中添加了一条规则。它针对所有通过
tun0接口输出的数据包。
tun0通常是一个虚拟的隧道接口,用于如VPN连接等场景。
MASQUERADE动作意味着将数据包的源IP地址替换为发送该数据包的接口的IP地址(在这个情况下是
tun0的IP地址)。这使得内部网络可以使用外部IP进行通信,从而隐藏了内部网络的实际结构。
iptables -t nat -A POSTROUTING -o eth34 -j MASQUERADE
类似地,这条命令也是在NAT表的POSTROUTING链中添加规则,但它适用于通过
eth0接口输出的数据包。
eth0通常是物理网络接口,比如连接到局域网或直接到互联网的接口。这条规则允许内部网络中的设备使用
eth0接口的IP地址与外部网络通信,同样起到隐藏内部网络结构的作用。
这两条命令的主要用途是在具有多个网络接口的系统上执行源NAT(SNAT),以确保来自不同接口的流量能够正确路由和返回。这对于设置如路由器、防火墙或者具有复杂网络配置的服务器非常有用。需要注意的是,执行这些命令通常需要超级用户权限,并且在某些系统上可能需要安装额外的软件包来支持iptables功能。此外,如果系统重启后需要这些规则继续生效,还需要将它们保存并在启动时重新加载
这时候已经成功组网了,本地192.168.0.0/24网段已经共享宣告到云段内网。通过各自自定义的内网ip10.21.x.x来组网转发对应数据包查看当前路由
问题:
发现办公网192.168.0.0/24网段任一IP与云网端172.16.x.x互ping通且业务正常
但是办公网192.168.1.0/24网段任一IP与云网端172.16.x.x互ping通但业务不可达
ping通但是nc -v 172.16.x.x a 任一业务端口都不通
分析:
easytier-core.exe --ipv4 10.21.x.x --peers udp://47.106.x.x:11x -n 192.168.0.0/24 --no-listener
这儿只共享宣告了192.168.0.0/24网段不包含192.168.1.0/24,所以云端172.16.x.x上没有到192.168.1.0/24的路由,只有到192.168.0.0/24的路由,数据包无法返回
修正:
easytier-core.exe --ipv4 10.21.x.x --peers udp://47.106.x.x:11x -n 192.168.0.0/23 --no-listener
192.168.0.0/23这就包含了192.168.0.1-192.168.1.255两个网段的所有IP
查看新路由
root@proxy73:/home/admin/easytier# cat keep_easytier_alive.sh
#!/bin/bash
sleep 5
# 使用 awk 过滤掉包含 grep 的行
count=$(ps -ef | grep easytier-core | grep -v grep | awk '{print $1}' | wc -l)
echo "Count of easytier-core processes: $count"
if [ "$count" -ge 1 ]; then
echo "easytier-core is already running."
else
echo "Starting easytier-core..."
cd /home/admin/easytier/
if [ $? -ne 0 ]; then
echo "Failed to change directory to /home/admin/easytier/"
exit 1
fi
nohup ./easytier-core --ipv4 10.21.x.x --peers udp://47.106.x.x:11x -n 192.168.0.0/23 --no-listener
if [ $? -ne 0 ]; then
echo "Failed to start easytier-core"
exit 1
fi
fi
本文链接:https://www.kinber.cn/post/4970.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: