1. link-local 地址
IPv6 中在局域网中是使用 link-local 地址通信的。其以 fe80::
开头。它的形式跟物理地址 mac
关联。只要 mac
没变,那么,link-local 地址就不变。
2. 使用 link-local 地址的场景
自己搭建了一个局域网,有两台主机,接的路由器,一台 windows,一台 Linux。我想通过 windows 上通过 ssh 连接 Linux,方便开发。使用 IPv4 地址连接,但是有时候开机后,电脑的IPv4地址会变,就需要重新查看IPv4 的地址,重连。虽然可以设置 IPv4 静态的地址,但是麻烦,又要设置网关、DNS、前缀。所以使用 link-local 地址登录,地址又不会变。
3. 使用:
- windows 开启 IPv6
- Linux 开启 IPv6 (默认开的),自己开如下:
cd /proc/sys/net/ipv6/conf/all
sudo echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6
那么就可以看到fe80::
开头的 link-local 地址:
swd@swd-Lenovo-G40-80:/proc/sys/net/ipv6/conf/all$ ifconfig
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::e49d:d8c5:7b68:6afc prefixlen 64 scopeid 0x20<link>
ether 44:1c:a8:70:84:95 txqueuelen 1000 (Ethernet)
RX packets 2393443 bytes 3153855367 (3.1 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1181673 bytes 135927593 (135.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 在windows上 ping
fe80::e49d:d8c5:7b68:6afc
,能够 ping 通。 - 使用 ssh 连接登录:
其它和 IPv4 一样