備忘
本節知識點:建議學習和理解並掌握iptables/route運行原理和機制.
一、網絡三層NAT配置方法(linux主機)[推薦]
- 假設zerotier虛擬局域網的網段是192.168.88.0
局域網A 192.168.1.0
局域網B 192.168.2.0
- (如果需要互聯)在局域網A和B中需要各有一台主機安裝zerotier並作為兩個內網互聯的網關
- 分別是192.168.1.10(192.168.88.10) 192.168.2.10(192.168.88.20)#括號里面為虛擬局域網的IP地址
1.在zerotier網站的networks里面的Managed Routes下配置路由表,增加如下內容
#如果單向連接,僅需填寫下方一個即可.
192.168.1.0/24 via 192.168.88.10
192.168.2.0/24 via 192.168.88.20
2.開啟內核轉發
#echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
#sysctl -p
3.防火牆設置
iptables -I FORWARD -i ztyqbub6jp -j ACCEPT
iptables -I FORWARD -o ztyqbub6jp -j ACCEPT
iptables -t nat -I POSTROUTING -o ztyqbub6jp -j MASQUERADE
#其中的 ztyqbub6jp 在不同的機器中不一樣,你可以在路由器ssh環境中用 zerotier-cli listnetworks 或者 ifconfig 查詢zt開頭的網卡名
iptables-save #保存配置到文件,否則重啟規則會丟失.
二、網絡二層橋接方式(linux主機)[未測試,謹慎嘗試!]
1.設置橋接
在官網的networks里面,在Members選擇兩個節點前面的小扳手,然后勾選Allow Ethernet Bridging
2.配置網橋模式
請注意,如果你的設備僅有一個物理網卡,下方配置可能會斷網噢.
配置橋接前,請先清空物理網卡的ip,否則會影響路由出口選擇.
#創建橋接網卡
brctl addbr br0 ##添加橋接網卡br0
brctl show ##查看
ifconfig br0 172.25.47.104/24 ##給br0配置ip172.25.7.11
brctl addif br0 eth0 #添加真實物理網卡到橋接br0上
brctl addif br0 ztxxxx #添加zerotier網卡到橋接br0上
ping 172.25.7.254 ##測試,是否可以正常使用。
#刪除橋接網卡
brctl delif br0 eth0 #從橋接中移出物理網卡eth0
brctl delif br0 ztxxx #從橋接網卡中移除zt網卡
ifconfig br0 down ## 關閉橋接網卡br0
brctl delbr br0 ##刪除橋接網卡br0
brctl show ##查看橋接是否存在
#以上命令創建的網卡,會在重啟丟失,下面是修改配置文件來實現持久化.
vim ifcfg-enp4s0f2 #編寫物理網卡網絡配置文件
DEVICE=enp4s0f2
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
vim ifcfg-br0 #編寫橋接配置文件
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.7.254
PREFIX=24
TYPE=Bridge
systemctl restart network #|重新啟動網絡服務