在我们日常工作中,是否有这种需求,在断网的情况下,假装网络可以通,仍然可以通过类似 192.168.1.1 这样的 IP 访问服务 。除了我们经常使用本例换回口 127.0.0.1 以外,今天介绍一个神器:dummy 网卡。
? → ip link add nodelocaldns type dummy
? → ip addr add 169.254.20.10 dev nodelocaldns
? → ip addr add 10.96.0.10 dev nodelocaldns
创建网卡后,就可以本地 ping 通了
? → ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
5: nodelocaldns: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 4a:d6:09:1a:97:6a brd ff:ff:ff:ff:ff:ff
inet 169.254.20.10/32 scope global nodelocaldns
valid_lft forever preferred_lft forever
inet 10.96.0.10/32 scope global nodelocaldns
valid_lft forever preferred_lft forever
? → ping 10.96.0.10
PING 10.96.0.10 (10.96.0.10) 56(84) bytes of data.
64 bytes from 10.96.0.10: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 10.96.0.10: icmp_seq=2 ttl=64 time=0.050 ms
dummy 接口的工作方式和 loopback 接口类似,但是你可以创建任意多的 dummy 接口。它提供路由数据包的功能,但实际上又不进行转发。dummy 接口主要有两个用途:
细心的同学可能发现了前面创建的网卡名称是 nodelocaldns ,没错就是 k8s 里面的 local dns 的网卡,k8s 的 local dns 正是使用了这种分布式的 IP 的能力实现的,每台机器上面都可以有这样一个本地的网卡。 原文链接:https://chenxy.blog.csdn.net/article/details/110938569
本文转载自:「云原生实验室」,原文:https://tinyurl.com/y8dgtbjo,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。