nmcliでloopbackは変更できない?
今日はnmcliについて調べて書こうと思ったのだが、調べているうちに躓いた。
nmcliってloopbackの制御はできないのだろうか?
# nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
loopbackはunmanagedと表示される。
NetworkManagerのCLI管理ツールであるnmcliが管理無し(STATE unmanaged)と言っているということは、NetworkManagerでは管理できないということなのか?
loopbackのデバイス情報を見てみる。
# nmcli dev show lo GENERAL.DEVICE: lo GENERAL.TYPE: loopback GENERAL.HWADDR: 00:00:00:00:00:00 GENERAL.MTU: 65536 GENERAL.STATE: 10 (unmanaged) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- IP4.ADDRESS[1]: 127.0.0.1/8 IP4.GATEWAY: IP6.ADDRESS[1]: ::1/128 IP6.GATEWAY:
GENERAL.TYPEがloopbackになっている。
nmcli con addコマンドのhelpを見てみる。
# nmcli con add help Usage: nmcli connection add { ARGUMENTS | help } ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS IP_OPTIONS COMMON_OPTIONS: type <type> ifname <interface name> | "*" [con-name <connection name>] [autoconnect yes|no] [save yes|no] TYPE_SPECIFIC_OPTIONS: ethernet: [mac <MAC address>] [cloned-mac <cloned MAC address>] [mtu <MTU>] wifi: ssid <SSID> [mac <MAC address>] [cloned-mac <cloned MAC address>] [mtu <MTU>] [mode infrastructure|ap|adhoc] wimax: [mac <MAC address>] [nsp <NSP>] pppoe: username <PPPoE username> [password <PPPoE password>] [service <PPPoE service name>] [mtu <MTU>] [mac <MAC address>] gsm: apn <APN> [user <username>] [password <password>] cdma: [user <username>] [password <password>] infiniband: [mac <MAC address>] [mtu <MTU>] [transport-mode datagram | connected] [parent <ifname>] [p-key <IPoIB P_Key>] bluetooth: [addr <bluetooth address>] [bt-type panu|dun-gsm|dun-cdma] vlan: dev <parent device (connection UUID, ifname, or MAC)> id <VLAN ID> [flags <VLAN flags>] [ingress <ingress priority mapping>] [egress <egress priority mapping>] [mtu <MTU>] bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | broadcast (3) | 802.3ad (4) | balance-tlb (5) | balance-alb (6)] [primary <ifname>] [miimon <num>] [downdelay <num>] [updelay <num>] [arp-interval <num>] [arp-ip-target <num>] [lacp-rate slow (0) | fast (1)] bond-slave: master <master (ifname, or connection UUID or name)> team: [config <file>|<raw JSON data>] team-slave: master <master (ifname, or connection UUID or name)> [config <file>|<raw JSON data>] bridge: [stp yes|no] [priority <num>] [forward-delay <2-30>] [hello-time <1-10>] [max-age <6-40>] [ageing-time <0-1000000>] [mac <MAC address>] bridge-slave: master <master (ifname, or connection UUID or name)> [priority <0-63>] [path-cost <1-65535>] [hairpin yes|no] vpn: vpn-type vpnc|openvpn|pptp|openconnect|openswan|libreswan|ssh|l2tp|iodine|... [user <username>] olpc-mesh: ssid <SSID> [channel <1-13>] [dhcp-anycast <MAC address>] adsl: username <username> protocol pppoa|pppoe|ipoatm [password <password>] [encapsulation vcmux|llc] IP_OPTIONS: [ip4 <IPv4 address>] [gw4 <IPv4 gateway>] [ip6 <IPv6 address>] [gw6 <IPv6 gateway>]
typeにloopbackが存在しない。
適当に追加してみる。
# nmcli connection add type ethernet ifname 'lo:0' con-name loopback autoconnect yes save yes # nmcli connection mod lo\:0 ipv4.method manual ipv4.addresses '172.16.1.1/32' # nmcli connection up lo\:0 Error: Connection activation failed: No suitable device found for this connection.
うまくいかない。
保存されたファイルを確認してみる。
# ls -l /etc/sysconfig/network-scripts/ifcfg-lo* -rw-r--r--. 1 root root 254 2月 17 13:55 /etc/sysconfig/network-scripts/ifcfg-lo -rw-r--r-- 1 root root 275 2月 25 02:48 /etc/sysconfig/network-scripts/ifcfg-lo-0 # cat /etc/sysconfig/network-scripts/ifcfg-lo-0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=lo:0 UUID=bfb08758-695e-4412-9754-8ac94a99ec5a DEVICE=lo:0 ONBOOT=yes IPADDR=172.16.1.1 PREFIX=32 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes
ファイル名が異なり、ファイルの中身も若干異なる。
とりあえずファイルをリネームしてみる。
# /etc/sysconfig/network-scripts/ # mv ifcfg-lo-0 ifcfg-lo\:0
ifupで立ち上げてみる。
# ifup lo\:0 Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0'
エラーは出るけど、一応立ち上がる。
状態を確認する。
# ip addr show dev lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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 inet 172.16.1.1/32 brd 172.16.1.1 scope global lo:0 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever
立ち上がった。
DRなLVS構成を組むときに負荷分散先となるサーバーにloopbackでIPアドレスを追加するということを行うのだが、CentOS 7で最適な方法が今一わかっていない。
後日また調べてみる。