Ubuntu 物理机 SSH 远程连接与 IPv6 外网访问测试指南
1. 通过 SSH 远程连接 Ubuntu 物理机
1.1 安装 SSH 服务
bash
sudo apt update
sudo apt install openssh-server
1.2 检查 SSH 服务状态
bash
sudo systemctl status ssh
确认出现 active (running)
。
1.3 获取物理机 IP 地址
bash
ip a
或
bash
ifconfig
1.4 另一台电脑连接
- Windows 可用 PuTTY 或 PowerShell。
- Linux/Mac 直接用终端:
bash
ssh 用户名@物理机IP
1.5 常见问题排查
-
检查防火墙(如 ufw):
bashsudo ufw disable
-
确保两台设备在同一局域网。
-
云服务器需开放 22 端口。
2. 查看物理机是否支持 IPv6
2.1 检查内核支持
bash
cat /proc/net/if_inet6
有内容即支持。
2.2 查看 IPv6 地址
bash
ip -6 addr
或
bash
ifconfig | grep inet6
有 inet6
地址即支持。
2.3 检查是否被禁用
bash
cat /etc/sysctl.conf | grep ipv6
无 disable_ipv6=1
即未禁用。
3. 用 Python 本地服务测试 IPv6 外网访问
3.1 创建测试服务
新建 ipv6_server.py
:
python
import http.server
import socketserver
import socket
PORT = 8000
class IPv6TCPServer(socketserver.TCPServer):
address_family = socket.AF_INET6
Handler = http.server.SimpleHTTPRequestHandler
with IPv6TCPServer(("::", PORT), Handler) as httpd:
print(f"Serving HTTP on [::]:{PORT}")
httpd.serve_forever()
3.2 启动服务
bash
python3 ipv6_server.py
3.3 获取公网 IPv6 地址
bash
ip -6 addr
3.4 外网访问格式
http://[2409:8a00:b473:7450:6d4c:944e:d0b2:cda4]:8000/
或
http://[2409:8a00:b473:7450:2e0:21ff:fec4:217d]:8000/
(用你实际的 IPv6 地址,中括号不可省略)
3.5 注意事项
-
防火墙需开放 8000 端口:
bashsudo ufw allow 8000/tcp
-
需公网 IPv6、路由器和运营商支持。
4. 如何区分 IPv6 地址类型
::1/128
:本地回环,只能本机访问。fe80::...
:链路本地,只能同网段通信。2409:8a00:b473:7450:6d4c:944e:d0b2:cda4
、2409:8a00:b473:7450:2e0:21ff:fec4:217d
:全球唯一(global),可用于外网访问。
建议用 scope global
的地址。