解决Ubuntu上Tailscale IP无法ping通自己的问题

在使用Tailscale搭建VPN时,Ubuntu系统安装并配置了Tailscale,IP地址为100.127.129.000。其他设备能够正常ping通该IP,并且本机可以ping通其他设备,但在本机上使用ping100.127.129.000时却无法成功。这让人感到困惑,因为Tailscale网络本身没有任何明显问题。通过对防火墙规则的检查,我们发现是iptables规则中的DROP规则阻止了本机访问自身的Tailscale IP。

问题分析

 根据以下的iptables规则:

Chain ts-input (1 references)
target     prot opt source               destination         
RETURN     all  --  100.115.92.0/23      anywhere            
DROP       all  --  100.64.0.0/10        anywhere            
ACCEPT     all  --  anywhere             anywhere
  • 100.127.129.000属于100.64.0.0/10这个IP地址范围,因此,DROP规则将所有目标IP在100.64.0.0/10范围内的流量进行丢弃。这使得本机无法ping通自己的Tailscale IP。

解决方案

为了修复这个问题,我们需要在iptablests-input链中添加一条规则,允许本机访问自身的Tailscale IP(100.127.129.000)。具体步骤如下:

步骤 1:添加iptables规则以允许本机访问自身的Tailscale IP

在终端中输入以下命令:

sudo iptables -I ts-input -d 100.127.129.101 -j ACCEPT

这条命令将在ts-input链的顶部插入一条规则,允许所有目的地为100.127.129.000的流量通过,从而解决无法ping通自身Tailscale IP的问题。

步骤 2:确保输出流量被允许

为了确保本机发送到自身Tailscale IP的流量也能正常通过,您还可以添加以下规则:

sudo iptables -I OUTPUT -o tailscale0 -s 100.127.129.101 -j ACCEPT
步骤 3:测试Ping操作

添加规则后,尝试在终端中ping自己的Tailscale IP:

ping 100.127.129.000

如果规则添加成功,您应该能够成功ping通100.127.129.101

步骤 4:保存iptables规则

为了避免系统重启后丢失这些规则,我们需要将它们保存。可以使用iptables-persistent工具来保存规则:

  1. 安装iptables-persistent

    sudo apt-get update sudo apt-get install iptables-persistent

    在安装过程中,会提示您是否保存当前的iptables规则,选择“是”。

  2. 如果您以后修改了iptables规则,可以通过以下命令手动保存:

    sudo netfilter-persistent save
步骤 5:验证规则已正确添加

执行以下命令,查看当前的iptables规则,确认新规则已被正确添加:

sudo iptables -L ts-input -v --line-numbers

您应该能看到刚刚添加的规则,确保流量目标为100.127.129.101的流量被允许通过。

总结

通过上述步骤,您已经成功解决了Ubuntu上Tailscale无法ping通自身IP的问题。该问题的根本原因在于iptables防火墙中的规则阻止了本机访问自己的Tailscale IP。通过在ts-input链中添加一条例外规则,允许访问本机Tailscale IP,问题得以解决。

如果您遇到类似问题,可以参考以上解决方案。同时,建议定期检查iptables规则,确保没有误配置或冲突影响网络连接。

其他注意事项

  • 检查Tailscale接口状态:确保Tailscale接口(如tailscale0)正确配置并启用。

    ip addr show tailscale0
  • 重启Tailscale服务:如果规则添加后问题依然存在,可以尝试重启Tailscale服务。

    sudo systemctl restart tailscale
  • 更新Tailscale:确保Tailscale版本是最新的,以避免已知的bug。

    sudo apt-get update sudo apt-get install --only-upgrade tailscale


通过这个博客的记录,希望能帮助更多在使用Tailscale的用户解决类似的网络配置问题。如果您有任何疑问或其他问题,欢迎在评论区留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值