IPv4 及 IPv6 的連線順序 – Windows 篇

Windows 平台也有這樣的問題,尤其是在連政府單位網頁時,常常有學校的行政人員向我反應連線速度非常緩慢,之前我的直覺就是,這應該是 IPv6 的問題,所以解決的方式有二個,一個是把 Windows 的 IPv6 關閉,另一個則是先用 nslookup 查出網站的 IP,然後再以 IP 連線。
關閉 IPv6

先查詢 IP

[@more@]解決方式:參考 使用 IPv6 DualStack 連線速度變慢 @ 黃昏的甘蔗 :: 隨意窩 Xuite日誌

1. 以系統管理者身份執行 命令提示字元,查詢連線順序
    netsh interface ipv6 show prefixpolicies
    IPv4 ::ffff:0:0/96 的順序是 35

這時候系統是以 IPv6 為優先,以 ping www.ilc.edu.tw 為例

2. 修改順序,讓 IPv4 優先,數字越大,優先性愈高
    netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4

這時候再 ping www.ilc.edu.tw 就是以 IPv4 為優先

改回來
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 35 4

IPv4 及 IPv6 的連線順序 – Linux 篇

因為上級的要求,所以學校的電腦絕大部都會設定有 IPv6,尤其是 Server 的部分。但這造成一個問題,就是電腦在網路連線時,常常會以 IPv6 為優先連線,如果對方有提供 IPv6 的相關資訊。
如:Debain / Ubuntu 更新時的 free.nchc.org.tw
# host free.nchc.org.tw
free.nchc.org.tw has address 211.73.64.9
free.nchc.org.tw has IPv6 address 2001:e10:3c00:8::e274

所以在做 apt-get update 連線時,會先以 IPv6 連線,等到 IPv6 無法連線時,再改以 IPv4 連線,但這一個過程中,已耗費了一些時間。
# apt-get update
0% [Connecting to free.nchc.org.tw (2001:e10:3c00:8::e274)]

….
Ign http://free.nchc.org.tw trusty/multiverse Translation-en_US
Ign http://free.nchc.org.tw trusty/restricted Translation-en_US
Ign http://free.nchc.org.tw trusty/universe Translation-en_US
Reading package lists… Done[@more@]解決方式:參考 使用 IPv6 DualStack 連線速度變慢 @ 黃昏的甘蔗 :: 隨意窩 Xuite日誌
在 Linux 中,以 Ubuntu 14.04.1 Server 為例
1. 備份設定檔 /etc/gai.conf
# cp /etc/gai.conf /etc/gai.conf.$(date +%F)

2. 修改 /etc/gai.conf
# vim /etc/gai.conf
加入下面的設定
label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
precedence  ::ffff:0:0/96       60
precedence  ::1/128       50
precedence  ::/0          40
precedence  2002::/16     30
precedence ::/96          20

3. 進行測試,系統就會直接以 IPv4 連線,速度就會就多了!
# apt-get update
Ign http://free.nchc.org.tw trusty InRelease
Hit http://free.nchc.org.tw trusty-updates InRelease
Hit http://free.nchc.org.tw trusty-backports InRelease
Hit http://free.nchc.org.tw trusty-security InRelease
Hit http://free.nchc.org.tw trusty Release.gpg

Raspberry Pi 測試 – ArchLinux 篇 IPv6

雖然 IPv6 目前在家裡使用的機率不是很高,但在學校裡使用是必要的。
預設使用的 Raspberry Pi  ArchLinux 預設把 IPv6 的設定關掉。
# cat /boot/cmdline.txt
ipv6.disable=1 avoid_safe_mode=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 rootfstype=ext4 elevator=noop rootwait libahci.ignore_sss=1

開啟 IPv6 功能
修改前先備份原檔
# cp /boot/cmdline.txt /boot/cmdline.txt.$(date +%F)[@more@]
修改設定檔
# vim /boot/cmdline.txt
avoid_safe_mode=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 rootfstype=ext4 elevator=noop rootwait libahci.ignore_sss=1

重新啟動電腦
# systemctl reboot

檢查是否有取得 IPv6
# ifconfig eth0 | grep -m 1 inet6
        inet6 2001:288:a229:2:ba27:ebff:fe31:70a5  prefixlen 64  scopeid 0x0<global>

檢查是否能以 IPv6 ping 到外部
# ping6 -c 4 2001:288:a229:1::250
PING 2001:288:a229:1::250(2001:288:a229:1::250) 56 data bytes
64 bytes from 2001:288:a229:1::250: icmp_seq=1 ttl=64 time=1.80 ms
64 bytes from 2001:288:a229:1::250: icmp_seq=2 ttl=64 time=0.502 ms
64 bytes from 2001:288:a229:1::250: icmp_seq=3 ttl=64 time=0.470 ms
64 bytes from 2001:288:a229:1::250: icmp_seq=4 ttl=64 time=0.502 ms

— 2001:288:a229:1::250 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.470/0.818/1.800/0.567 ms

ArchLinux 執行 iptables Firewall

參考網站:iptables – ArchWiki
啟動 iptables & ip6tables
# systemctl start iptables
# systemctl start ip6tables

建立 iptables 規則
# cp /etc/iptables/empty.rules /etc/iptables/iptables.rules
# touch /etc/iptables/ip6tables.rules

開機時啟動 iptables & ip6tables
# systemctl enable iptables
ln -s ‘/usr/lib/systemd/system/iptables.service’ ‘/etc/systemd/system/multi-user.target.wants/iptables.service’
# systemctl enable ip6tables
[@more@]底下以 IPv4 為例
設定防火牆規則
# iptables -nvL –line-numbers
Chain INPUT (policy DROP 18 packets, 1042 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  —  lo     *       0.0.0.0/0            0.0.0.0/0
2        0     0 DROP       all  —  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
3        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
4        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
5        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x03/0x03
6        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x06/0x06
7        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x05/0x05
8        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x11/0x01
9        0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x30/0x20
10       0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x18/0x08
11       0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x29
12       0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x37
13       0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F
14       0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x01
15     107  7340 ACCEPT     all  —  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
16       0     0 ACCEPT     tcp  —  *      *       192.168.1.0/24       0.0.0.0/0            tcp dpt:22
17       0     0 ACCEPT     tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
18       0     0 ACCEPT     tcp  —  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
19       0     0 ACCEPT     icmp —  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
20       0     0 ACCEPT     icmp —  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 1 packets, 64 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  —  *      lo      0.0.0.0/0            0.0.0.0/0
2      100 16760 ACCEPT     all  —  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

將目前的規則寫入到 /etc/iptables/iptables.rules
# iptables-save > /etc/iptables/iptables.rules

重新載入防火牆規則
# systemctl reload iptables
# iptables-restore < /etc/iptables/iptables.rules

# cat /etc/iptables/iptables.rules
# Generated by iptables-save v1.4.21 on Mon Sep 29 23:06:35 2014
*mangle
:PREROUTING ACCEPT [49:3160]
:INPUT ACCEPT [49:3160]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [51:7732]
:POSTROUTING ACCEPT [51:7732]
COMMIT
# Completed on Mon Sep 29 23:06:35 2014
# Generated by iptables-save v1.4.21 on Mon Sep 29 23:06:35 2014
*filter
:INPUT DROP [4:124]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state INVALID -j DROP
-A INPUT -p tcp -m tcp ! –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,ACK FIN -j DROP
-A INPUT -p tcp -m tcp –tcp-flags ACK,URG URG -j DROP
-A INPUT -p tcp -m tcp –tcp-flags PSH,ACK PSH -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp –icmp-type 0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Sep 29 23:06:35 2014
# Generated by iptables-save v1.4.21 on Mon Sep 29 23:06:35 2014
*nat
:PREROUTING ACCEPT [4:124]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Mon Sep 29 23:06:35 2014

使用 LEMP for Raspberry Pi 版會出現下面的錯誤訊息
iptables v1.4.21: can’t initialize iptables table `filter’: Table does not exist (do you need to insmod?)

關閉 CentOS 7 上的 IPv6

因為測試的 CentOS 7 是在家裡使用,所以 IPv6 應該是使用不到的
# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.109  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fea6:2215  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a6:22:15  txqueuelen 1000  (Ethernet)
        RX packets 462  bytes 41942 (40.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 356  bytes 46939 (45.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[@more@]修改方式
修改 /etc/default/grub
GRUB_CMDLINE_LINUX 後加上 ipv6.disable=1
# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=”$(sed ‘s, release .*$,,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=”console”
GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet net.ifnames=0 biosdevname=0 ipv6.disable=1
GRUB_DISABLE_RECOVERY=”true”

產生新的 grub 設定檔
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Warning: Please don’t use old title `CentOS Linux, with Linux 3.10.0-123.el7.x86_64′ for GRUB_DEFAULT, use `Advanced options for CentOS Linux>CentOS Linux, with Linux 3.10.0-123.el7.x86_64′ (for versions before 2.00) or `gnulinux-advanced-caeda11c-71b9-4cc4-961b-b4541b247804>gnulinux-3.10.0-123.el7.x86_64-advanced-caeda11c-71b9-4cc4-961b-b4541b247804′ (for 2.00 or later)
Found linux image: /boot/vmlinuz-0-rescue-07f9be0c0fc843ce885a7539150c8e55
Found initrd image: /boot/initramfs-0-rescue-07f9be0c0fc843ce885a7539150c8e55.img
done

重新開機
# sync;sync;sync;sync;shutdown -r

IPv6 已經關閉
# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.109  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:0c:29:a6:22:15  txqueuelen 1000  (Ethernet)
        RX packets 83  bytes 8436 (8.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 73  bytes 10238 (9.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

IPv6 Firewall

一般在設定 Server 的防火牆規則時,大部分都集中在 IPv4,不過目前宜蘭縣的 IPv6 環境應該非常完整,所以 IPv6 的部分也不能忽視。
參考網站:ip6tables: IPv6 Firewall For Linux

原本沒有設定的畫面
# ip6tables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[@more@]以 Ubuntu Server 14.04 為例
IPv6 的防火牆規則寫在 /etc/rc.local 檔案之中

# vim /etc/rc.local
###—————————————————–###
# 設定 ip6tables 的路徑
###—————————————————–###
echo “Set path of ip6tables”

IP6TABLES=”/sbin/ip6tables”

###—————————————————–###
# 設定對外的網路卡編號
###—————————————————–###
FW_IFACE=”eth0″

###—————————————————–###
# 清除先前的設定
###—————————————————–###
echo “Flush fiter table ……”
echo

$IP6TABLES -F
$IP6TABLES -X
$IP6TABLES -Z

$IP6TABLES -t mangle -F
$IP6TABLES -t mangle -X

###—————————————————–###
# 設定 filter table 的預設政策
###—————————————————–###
$IP6TABLES -P INPUT DROP
$IP6TABLES -P OUTPUT DROP
$IP6TABLES -P FORWARD DROP

# 允許已建立連線和回應的封包通過
$IP6TABLES -A INPUT -i $FW_IFACE -m state –state ESTABLISHED,RELATED -j ACCEPT
$IP6TABLES -A OUTPUT -o $FW_IFACE -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

# 預定開放的服務 22 / 80
$IP6TABLES -A INPUT -i $FW_IFACE -p tcp –dport 80 -j ACCEPT
$IP6TABLES -A INPUT -i $FW_IFACE -p tcp -s 2001:288:a229:1::/64 –dport 22 -j ACCEPT

# 開放 ipv6 icmp
$IP6TABLES -A INPUT -i $FW_IFACE -p ipv6-icmp -j ACCEPT
$IP6TABLES -A OUTPUT -o $FW_IFACE -p ipv6-icmp  -j ACCEPT

讓設定生效
# service rc.local start

IPv6 防火牆規則
# ip6tables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all      ::/0                 ::/0                 state RELATED,ESTABLISHED
ACCEPT     tcp      ::/0                 ::/0                 tcp dpt:80
ACCEPT     tcp      2001:288:a229:1::/64  ::/0                 tcp dpt:22
ACCEPT     icmpv6    ::/0                 ::/0

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all      ::/0                 ::/0                 state NEW,RELATED,ESTABLISHED
ACCEPT     icmpv6    ::/0                 ::/0

原來是 IPv6 惹的禍

有時在上電腦課時,並沒有必要使用到網路,為了讓學生可以更專心上課,所以會把網路關掉,但後來發現某些網站還是可以上,如:Facebook…等。
因為學校的電腦教室是採用 NAT+Proxy 架構,IPv6 的部分是由 radvd 來處理,通常只要把 Proxy Server 關閉,照理來說,學生就會沒有辦法上網,但一些其它的服務,如:Samba / FTP 等服務還是可以使用,所以心裡很納悶。[@more@]後來使用 netstat 指令查看一下連線的狀態

原來這些網站都是使用 IPv6 來連線,所以只要把 IPv6 關閉就 OK 了!
# service radvd stop

讓 vsftpd FTP Server 同時支援 IPv4 及 IPv6

CentOS Linux 上安裝的 vsftpd FTP Server 預設只支援 IPv4,並不支援 IPv6,
# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
‘ls’ 位置 0 [重新連接前延遲(秒): 51]

可以發現無法以 IPv6 的方式連線

啟用 IPv6 的方式
# vim /etc/vsftpd/vsftpd.conf

listen=YES
改成
#listen=YES


#listen_ipv6=YES
改成
listen_ipv6=YES

重新啟動 vsftpd FTP Server
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:                       [  確定  ][@more@]以 IPv6 的方式連線
# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 2001:288:a229:1::109:/>

但可以以 IPv6 連線,却會發現無法以 IPv4 的方式連線
# lftp 140.111.74.109
lftp 140.111.74.109:~> ls
‘ls’ 位置 0 [重新連接前延遲(秒): 28]

但是不能同時開啟 IPv4 和 IPv6,否則啟動時會出現錯誤訊息
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:500 OOPS: run two copies of vsftpd for IPv4 and IPv6
                                                           [失敗]

如果要同時能以 IPv4 和 IPv6 的方式來連線,則要在 /etc/vsftpd 目錄下增加 vsftpd_ipv6.conf 設定檔
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_ipv6.conf

修改 /etc/vsftpd/vsftpd.conf
改成下面的設定
# vim /etc/vsftpd/vsftpd.conf
改成下面的設定
listen=YES
#listen_ipv6=YES

修改 /etc/vsftpd/vsftpd_ipv6.conf
# vim /etc/vsftpd/vsftpd_ipv6.conf
改成下面的設定
#listen=YES
listen_ipv6=YES

重新啟動 vsftpd FTP Server
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:                       [  確定  ]
正在啟動 vsftpd_ipv6 中的 vsftpd:               [  確定  ]

測試發現以 IPv4 和 IPv6 均可以正常連線
# lftp 140.111.74.109
lftp 140.111.74.109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 140.111.74.109:/> bye

# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 2001:288:a229:1::109:/> bye

校內 IPv6 環境設定

在縣內 IPv6 導入學校之前,學校有幸得到宜蘭大學的協助,先進行 IPv6 的試行計劃,因為學校的網路環境比較特別,在經過一番設定和測試之後,所有的網路設備都能以 IPv6 的網路環境正常運作。

但因為伺服器故障及更替,所以有些設定就無法正常使用了,今天特別把它們重新設定完成。並根據 台中縣網的 IPv6 測試網站 ,建立 自己學校的測試網站
[@more@]目前學校的 IPv6 網段分配如下:
2001:288:a229::/48
2001:288:a229:1::/64  伺服器網段
2001:288:a229:2::/64  行政網路
2001:288:a229:3::/64  教學網路
2001:288:a229:4::/64  電腦教室

如果是以 IPv4 連線,則會看到黑白的圖

程式也會依照 IPv6 網段的不同,而顯示來自的不同網段