阿里云安装Docker和Tailscale及遇到的问题

本文记录了如何安装docker 和使用国内源安装Tailscale及解决Tailscale和阿里云内网DNS冲突问题。

Docker

Docker直接使用阿里云给的教程安装

1.更新您的包管理工具:

sudo apt-get update

2.添加阿里云源到您的实例中,这个源包含Docker软件包,方便您使用命令来安装和更新Docker。

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
sudo apt-get update

3.安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件:

sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动Docker并设置Docker守护进程在系统启动时自动启动,这样可以确保每次系统启动时,Docker服务也会自动启动:

sudo systemctl start docker
sudo systemctl enable docker

5.阿里云容器镜像服务ACR提供了官方的镜像加速器,从而加速官方镜像的下载:
– 登录容器镜像服务控制台,在左侧导航栏选择镜像工具 > 镜像加速器,在镜像加速器页面获取加速器地址。

  • 创建并编辑/etc/docker/daemon.json文件(如果文件不存在,则创建):
    {
      "registry-mirrors": ["<镜像加速器地址>"]
    }
    
  • 重启Docker使配置生效。
    sudo systemctl restart docker
    

Tailscale

官方教程,选择对应的版本进行安装,不使用一键安装脚本,比如我是Debian12

1.添加 Tailscale 的软件包签名密钥和存储库:

curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

2.使用中科大的镜像,给Tailscale加速:

sudo sed -i 's,pkgs.tailscale.com/stable,mirrors.ustc.edu.cn/tailscale,g' /etc/apt/sources.list.d/tailscale.list

3.安装Tailscale:

sudo apt-get update
sudo apt-get install tailscale
sudo tailscale up

4.解决Tailscale与阿里云内网DNS冲突

参考教程 运行 iptables -S,找到和Tailscale相关的有如下几条

解决阿里云内网冲突

下面这条规则drop掉了整个IP段的数据包,使用iptables -D 删除规则

-A ts-input -s 100.64.0.0/10 ! -i tailscale0 -j DROP

找规则编号:

iptables -L ts-input --line-numbers
root@cn-pek-aliyun:~# iptables -L ts-input --line-numbers
Chain ts-input (1 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  cn-pek-aliyun        anywhere
2    RETURN     all  --  100.115.92.0/23      anywhere
3    DROP       all  --  100.64.0.0/10        anywhere
4    ACCEPT     all  --  anywhere             anywhere
5    ACCEPT     udp  --  anywhere             anywhere             udp dpt:41641

运行以下命令,根据编号删除规则:

iptables -D ts-input 3

此时去ping 阿里云内网域名是可以ping通的。

上一篇 2024年11月17日 下午6:23
下一篇 2017年2月22日 下午10:54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注