loインターフェイスのエイリアスを作成したいです(接続を維持するVIPとして必要です)。ところで、ネットワーク管理者が問題を引き起こしているようです。このファイルを作成しました。
/etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.2.0.4
NETMASK=255.255.255.255
BROADCAST=10.2.0.255
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=yes
NAME=lo:0
その後、接続を確立しました。
ifup lo:0
結果は惨事だった
team0 8c1d7e93-389b-4f61-b33d-ab9b6ca634b1 team team0
lo:0 54af739a-9533-7b7b-8fcc-691e69842b36 ethernet enp1s0
team1 af58780b-b280-49cf-b540-b55e49b2c52f team team1
team-slave-enp7s0 b221675e-9604-4051-967e-a98b098c823d ethernet enp7s0
team-slave-enp8s0 f8711dde-29bc-442b-aedd-2005888cf314 ethernet enp8s0
team-slave-enp9s0 67983ded-870e-4e5a-a284-9cfbcb6f1eb8 ethernet enp9s0
team-slave-enp1s0 9bea1e34-a555-450c-9d0e-10bad2ee99e9 ethernet --
ご覧のとおり、team0(enp1s0)のスレーブは無効になり、lo:0はteam0のスレーブになります(sic!)。 lo:0を削除すると、すべて正常に返されます。
ifdown lo:0
nmcli conn show
team0 8c1d7e93-389b-4f61-b33d-ab9b6ca634b1 team team0
team1 af58780b-b280-49cf-b540-b55e49b2c52f team team1
team-slave-enp1s0 9bea1e34-a555-450c-9d0e-10bad2ee99e9 ethernet enp1s0
team-slave-enp7s0 b221675e-9604-4051-967e-a98b098c823d ethernet enp7s0
team-slave-enp8s0 f8711dde-29bc-442b-aedd-2005888cf314 ethernet enp8s0
team-slave-enp9s0 67983ded-870e-4e5a-a284-9cfbcb6f1eb8 ethernet enp9s0
また、名前をlo:10 lo:20に変更しようとしましたが、何も変更されませんでした。
答え1
あなたの場合initscripts 'が呼び出されifup
たらnmcli connection up
。
とにかく、initscriptはデフォルトでIPアドレスが追加された「エイリアス」をサポートします。サフィックスが付いた ifcg ファイルです:0
。一般的な初期化スクリプトを使用している場合は、このifcfg-ファイルが機能する可能性があります。これは、NM_CONTOLLED=no
NetworkManagerを完全に設定または無効にする場合を意味します。
NetworkManagerは実際にはこのクラス名をサポートしていません。接続プロファイル(デフォルトでは通常のifcfgファイルに対応)をサポートし、プロファイルごとに複数のIPアドレスをサポートします。ただし、initscriptのエイリアスなど、構成ファイルを複数の部分に分割することはできません。そのため、ファイル名のコロンがNetworkManagerを混同しているようです。
initscriptsファイル形式は理解しにくいようです。たとえば、このファイルを見ると、NetworkManagerがそれをどのように解釈するかはわかりません。しかし、最終的に重要なのは文書の解釈です。よりnmcli connection show lo:0
。その場合、NetworkManagerがこのように動作する理由を明確にする必要があります。その理由は、Networkmanagerがこれがifcfg-lo
ファイルのエイリアスであることを認識していますが、エイリアスifcfgファイルがデバイス名を定義できないためだと思います。同時に、ifcfg-lo
NetworkManagerで常に管理されていないループバックデバイス用です。
これは NM のバグであり、NetworkManager がサポートしていないエイリアスを定義しようとする試みに関連しています。
答え2
このエイリアスとは機能しないNetworkManagerを使用するのではなく、良い解決策を見つけました。良い古いrc.localスクリプトとipコマンドを使用してください。この場合、仮想IPアドレスが必要です(Keepalived Proxy1にあり、Proxy2に構成されています)。また、2 つの実サーバでエイリアスとしてインターフェイス lo に「バインド」されます。 2 つの arp_ignore が必要です。そうしないと、奇妙なネットワークの問題が発生します。
vim /etc/rc.d/rc.local
#!/bin/bash
start() {
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
ip addr add 10.2.0.4/32 dev lo label lo:0
}
stop() {
echo stop
}
restart() {
stop
start
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
restart
;;
*)
echo "usage: $0 start|stop|restart"
esac
chmod 755 /etc/rc.d/rc.local