diff --git a/ipv6 b/ipv6 new file mode 100644 index 0000000..f6fb27e --- /dev/null +++ b/ipv6 @@ -0,0 +1,52 @@ +#!/bin/bash + +echo "=== IPv6 专业检测工具 ===" + +# 颜色定义 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 检测函数 +check_with_color() { + if $1 &> /dev/null; then + echo -e "${GREEN}✓ $2${NC}" + return 0 + else + echo -e "${RED}✗ $2${NC}" + return 1 + fi +} + +echo "正在执行IPv6检测..." + +# 1. 内核支持检测 +check_with_color "test -f /proc/net/if_inet6" "内核IPv6支持" + +# 2. IPv6地址检测 +echo -e "\nIPv6地址信息:" +ip -6 addr show | grep "inet6" | head -5 | while read line; do + echo -e " ${YELLOW}$line${NC}" +done + +# 3. 连通性测试 +echo -e "\n连通性测试:" +check_with_color "ping6 -c 1 -W 3 2001:4860:4860::8888" "Google IPv6 DNS" +check_with_color "ping6 -c 1 -W 3 2606:4700:4700::1111" "Cloudflare IPv6 DNS" + +# 4. 路由检测 +echo -e "\nIPv6路由表:" +ip -6 route show | head -5 | while read line; do + echo -e " ${YELLOW}$line${NC}" +done + +# 5. 总结报告 +echo -e "\n=== 检测总结 ===" +if ip -6 addr show | grep -q "inet6" && ping6 -c 1 -W 2 2001:4860:4860::8888 &> /dev/null; then + echo -e "${GREEN}✅ 系统IPv6功能完整正常${NC}" +elif ip -6 addr show | grep -q "inet6"; then + echo -e "${YELLOW}⚠️ 系统有IPv6地址但无法访问外网${NC}" +else + echo -e "${RED}❌ 系统未启用IPv6${NC}" +fi