##
ip addr和ifconfig在keepalived中Virtual IP address中的坑
1、概述
今天遇到一个奇葩问题,给一个客户搭建haproxy+keepalived时,使用ifconfig看不到keepalived中配置的Virtual IP address,但是却可以ping通,日志也没有任何异常报错。尝试了多种方法之后已然无法解决。搭建实验环境测试,已然如此。
2、问题复现
[root@mydb ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.194.130 netmask 255.255.255.0 broadcast 192.168.194.255
inet6 fe80::6413:8eda:1c3a:6da2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:e9:58:55 txqueuelen 1000 (Ethernet)
RX packets 10561 bytes 8575255 (8.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15344 bytes 978103 (955.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 10239 bytes 908876 (887.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10239 bytes 908876 (887.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@mydb ~]# ping 192.168.194.50
PING 192.168.194.50 (192.168.194.50) 56(84) bytes of data.
64 bytes from 192.168.194.50: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 192.168.194.50: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 192.168.194.50: icmp_seq=3 ttl=64 time=0.071 ms
^C
--- 192.168.194.50 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2043ms
rtt min/avg/max/mdev = 0.033/0.051/0.071/0.015 ms
3、无意找到VIP地址
我是比较喜欢使用ip a的,无意敲了一下,发现居然可以看到Virtual IP address,这也就解释了为啥可以ping通,实际已经生成了Virtual IP address。
[root@mydb ~]# 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
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:e9:58:55 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.194.130/24 brd 192.168.194.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet 192.168.194.50/24 scope global secondary ens160
valid_lft forever preferred_lft forever
inet6 fe80::6413:8eda:1c3a:6da2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4、网络找原因
看了下这篇文章,写的也不是很清楚。仅查看
https://blog.csdn.net/kittygilr/article/details/79967000
5、查看命令帮助
[root@mydb ~]# ip address help Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ] [ CONFFLAG-LIST ] ip address del IFADDR dev IFNAME [mngtmpaddr] ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ] [ nomaster ] [ type TYPE ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] [ vrf NAME ] ] ip address {showdump|restore} IFADDR := PREFIX | ADDR peer PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ] SCOPE-ID := [ host | link | global | NUMBER ] FLAG-LIST := [ FLAG-LIST ] FLAG FLAG := [ permanent | dynamic | secondary | primary | [-]tentative | [-]deprecated | [-]dadfailed | temporary | CONFFLAG-LIST ] CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG CONFFLAG := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ] LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ] LFT := forever | SECONDS TYPE := { amt | bareudp | bond | bond_slave | bridge | bridge_slave | dsa | dummy | erspan | geneve | gre | gretap | gtp | ifb | ip6erspan | ip6gre | ip6gretap | ip6tnl | ipip | ipoib | ipvlan | ipvtap | macsec | macvlan | macvtap | netdevsim | nlmon | rmnet | sit | team | team_slave | vcan | veth | vlan | vrf | vti | vxcan | vxlan | wwan | xfrm | virt_wifi }
[root@mydb ~]# ifconfig --help Usage: ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>] [add <address>[/<prefixlen>]] [del <address>[/<prefixlen>]] [[-]broadcast [<address>]] [[-]pointopoint [<address>]] [netmask <address>] [dstaddr <address>] [tunnel <address>] [outfill <NN>] [keepalive <NN>] [hw <HW> <address>] [mtu <NN>] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>] [txqueuelen <NN>] [[-]dynamic] [up|down] ... <HW>=Hardware Type. List of possible hardware types: loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP) slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP) ash (Ash) ether (Ethernet) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel) ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB) arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device) sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI) irda (IrLAP) x25 (generic X.25) infiniband (InfiniBand) eui64 (Generic EUI-64) <AF>=Address family. Default: inet List of possible address families: unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) ipx (Novell IPX) ddp (Appletalk DDP) ash (Ash) x25 (CCITT X.25) [root@mydb ~]#
这里主要的区别就是Type,ip a中有v,还是细节。
6、关键字
keepalvied安装成功,可以ping通vip(Virtual IP address),但无法找到vip(Virtual IP address)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




