King Zone - TailScale
type: channel
link: https://www.kingtam.win/tag/TailScale/
items: 虛擬私有網路 (VPC) 環境記錄
items: TailScale 實現「出口節點」"Exit Node"（導向所有流量經這出口節點）
items: TailScale 實現遠端訪問整段局域網(ZeroTier另一選擇)

虛擬私有網路 (VPC) 環境記錄
type: item
date: 2022-01-26T11:08:09+08:00
description: VPC Network DiagramOPC.png前言: 我之前的博客是部署在家中的機器，發現Oracle 提供雲免費套餐服務，包括2 個基於 AMD 的計算虛擬機，每個虛擬機配備 2Core CPU 和 1 GB 內存，對於私人博客是夠用，開始嘗試將部份服務轉移到Oracle的VPC內，於是就有了這篇記錄。目錄內容: DockerDNMPDDNSACMEVPNZeroTierTailscaleRcloneDocker DNMP(GitHub - yeszao/dnmp)DNMP （Docker + Nginx + MySQL + PHP7/5 + Redis）是一款全功能的LNMP一鍵安裝程序。我主要是用於建立私人博客，用文字記錄生活。默認支持pdo_mysql、mysqli、mbstring、gd、curl、opcache等常用熱門擴展，根據環境靈活配置。version: "3" services: nginx: build: context: ./services/nginx args: NGINX_VERSION: nginx:${NGINX_VERSION} CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} NGINX_INSTALL_APPS: ${NGINX_INSTALL_APPS} container_name: nginx ports: #- "${NGINX_HTTP_HOST_PORT}:80" #- "${NGINX_HTTPS_HOST_PORT}:443" - "1080:1080" - "2080:2080" - "3080:3080" volumes: - ${SOURCE_DIR}:/www/:rw - ${NGINX_SSL_CERTIFICATE_DIR}:/ssl:rw - ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro - ${NGINX_FASTCGI_PHP_CONF}:/etc/nginx/fastcgi-php.conf:ro - ${NGINX_FASTCGI_PARAMS}:/etc/nginx/fastcgi_params:ro - ${NGINX_LOG_DIR}:/var/log/nginx/:rw environment: TZ: "$TZ" restart: always networks: - default php: build: context: ./services/php args: PHP_VERSION: php:${PHP_VERSION}-fpm-alpine CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL} PHP_EXTENSIONS: ${PHP_EXTENSIONS} TZ: "$TZ" container_name: php expose: - 9501 extra_hosts: - "www.site1.com:172.17.0.1" volumes: - ${SOURCE_DIR}:/www/:rw - ${PHP_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro - ${PHP_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw - ${PHP_LOG_DIR}:/var/log/php - ${DATA_DIR}/composer:/tmp/composer restart: always cap_add: - SYS_PTRACE networks: - default mysql: image: mysql:${MYSQL_VERSION} container_name: mysql ports: - "${MYSQL_HOST_PORT}:3306" volumes: - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro - ${DATA_DIR}/mysql:/var/lib/mysql/:rw restart: always networks: - default environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" TZ: "$TZ" networks: default:返回目錄內容DDNS (qmcgaw/ddns-updater)輕量型容器，可定期為多個 DNS 供應商更新 DNS A 和/或…

TailScale 實現「出口節點」"Exit Node"（導向所有流量經這出口節點）
type: item
date: 2021-10-08T15:15:27+08:00
description: TailScale 實現「出口節點」"Exit Node"（導向所有流量經這出口節點）Non.Exit.Node.pngExit.Node.png前言:當你使用公共網絡時，如在咖啡廰的WI-FI、酒店的網絡、或者釣魚WI-FI(不信任的網絡)等地方訪問家裡的設備、銀行服務或者公司的伺服器，很可能內容會給中間人截聽。然而TailScale 實現「出口節點」"Exit Node"功能，在加密(基於WireGuard)的TailScale 網絡內導向所有流量經「出口節點」訪問，從而避免敏感資料給有心人收穫取。目錄內容:部署「出口節點」Exit Node客戶端使用「出口節點」Windows 客戶端Android 客戶端Linux 客戶端1. 部署「出口節點」"Exit Node" 「出口節點」Exit Node暫時只支持在Linux系統的設備，這範例中以CentOS7平台部署「出口節點」。安裝倉庫管理軟件TS_Nodes_Server_091936.pngsudo yum install yum-utils添加Tailscale 倉庫地址TS_Nodes_Server_091951.pngsudo yum-config-manager --add-repo https://pkgs.tailscale.com/stable/centos/7/tailscale.repo安裝TailscaleTS_Nodes_Server_092030.pngsudo yum install tailscale -y啟用Tailscale 服務TS_Nodes_Server_092058.pngsudo systemctl enable --now tailscaled驗證及接入到Tailscale 網絡sudo tailscale upTS_Nodes_Server_092146.pngTS_Nodes_Server_092152.png此頁面顯示成功授權返回CentOS7終端查看分配到的IP地址TS_Nodes_Server_092222.pngtailscale ip啟用 CentOS7上的 IP 轉發(IP Forwarding)「出口節點」的設定需要用到 IP 轉發(IP Forwarding)特性TS_Nodes_Server_092518.pngecho 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf發佈此裝置為「出口節點」Exit NodeTS_Nodes_Server_092621.pngsudo tailscale up --advertise-exit-node網頁控制台管理節點需要允許將此設備為「出口節點」Exit Node。登入到網頁控制台管理頁面的 > MachinesTS_Nodes_Server_092633.png圖示為未允許將此設備為「出口節點」Exit NodeTS_Nodes_Server_092647.pngTS_Nodes_Server_092717.png啟用Use as Exit nodeTS_Nodes_Server_092730.png圖示已經允許將此設備為「出口節點」Exit Node停用「密鑰過期」功能基於安全特性，Tailscale每隔6個月需要重新授權裝置，作為「出口節點」Exit Node，建議停用，以防止定期重新驗證。TS_Nodes_Server_092745.pngTS_Nodes_Server_092753.png2. 客戶端使用「出口節點」 使用這個功能，TailScale的軟件版本不能低於1.6。Windows 客戶端使用「出口節點」TS_Nodes_Windows_092824.png未使用「出口節點」的公網IP地址為221.126.xxx.xxxTS_Nodes_Windows_092905.pngTS_Nodes_Windows_094319.png使用「出口節點」的公網IP地址為146.56.xxx.xxxTS_Nodes_Windows_094832.png出口的網速Android 客戶端使用「出口節點」TS_Nodes_Andorid_20211008102710 (Small).jpg未使用「出口節點」的公網IP地址為221.126.xxx.xxxTS_Nodes_Andorid_20211008102810 (Small).jpgTS_Nodes_Andorid_20211008102835 (S…

TailScale 實現遠端訪問整段局域網(ZeroTier另一選擇)
type: item
date: 2021-10-07T09:49:00+08:00
description: TailScale 實現遠端訪問整段局域網(ZeroTier另一選擇)home-network-after.png前言:之前的貼文分享了ZeroTier 實現遠端訪問局域網 ，最近發現一款軟件TailScale感覺設定上更簡單一點，僅僅透過帳號登入就可以接入TailScale網絡內。TailScale是以Wireguard的協議加密，所以安全性更高，而且是P2P連線，流量不經伺服器，延遲更低、私密性更高。目錄內容:安裝及加入到TailScale網絡透過設定其中1部TailScale的裝置為網關「Subnet Router」，可以訪問整個內網網段1. 安裝及加入到「TailScale」網絡 如果是Windows用戶可以到官網下載安裝Tailscale，或者透過Chocolatey軟件包安裝。TailScale_Windows_191122.pngchoco install tailscale -yTailScale_Windows_191751.png雙擊桌面右下角的圖示TailScale_Windows_193350.png使用谷歌或者微軟賬號進行登錄TailScale_Windows_193352.png成功授權後可以查看分配到的IP地址Linux用戶可以到Download · Tailscale找到相對應的CPU平台及架構安裝.我以Ubuntu 20.04為範例TailScale_Linux__192028.png添加 Tailscale 的金鑰和軟件倉庫地址curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add - curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list安裝Tailscalesudo apt update sudo apt install tailscale啟用Tailscale 及透過網址驗證登入到Tailscale 網絡sudo tailscale upTailScale_Linux__192029.pngTailScale_Linux_121648.png此頁面顯示成功授權返回到Linux 終端查看分配到的IP地址tailscale ipTailScale_Linux_141410.pngTailScale_Linux_141412.pngTailscale 網絡內的裝置可以互通2. 透過設定其中1部「TailScale」的裝置為網關「Subnet Router」，可以訪問整個內網網段 因為不是每一部設備都可以安裝到Tailscale ， 所以這樣設定「Subnet Route」的好處是家裡內網只要1部Linux裝置接入到Tailscale 網絡，其他所有的外網的Tailscale裝置都可以透過這部Linux裝置作為網關訪問家裡內網所有的設備，如: 印表機，路由器，伺服器等等。設定步驟:啟用 Linux 上的 IP 轉發(IP Forwarding)因為「Subnet Route」的設定需要用到 IP 轉發(IP Forwarding)特性使用以下指命啟用TailScale_Linux_141415.pngecho 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf以Linux作為「Subnet Route」(子網路由網關)連接到TailscaleTailscale 不需要防火牆配置，會自動管理規則，以允許轉發。設定過程也沒涉及到iptable，一條指令可以完成。sudo tailscale up --advertise-routes=20.13.3.0/2420.13.3.0/24替換為自己的網段，可以是IPV4或者IPV6。登入到網頁控制台 > MachinesTailScale_Linux_141447.pngTailScale_Linux_141448.pngTailScale_Linux_141457.pngEnable All允許轉發所有TailScale_Linux_141502.pngTailScale_Linux_150236.pngTailScale_Linux_150237.png基於安全特性，Tailscale每隔6個月需要重新授權裝置，作為…