Table of Contents
NICの冗長化
Linux ではネットワークアダプタのチーミングを「bonding」と呼ぶ。
NetworkManager は設定を勝手に変更する(?)ようなので network を使うようにする。
# chkconfig --list | grep -i network NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig NetworkManager off # chkconfig network on # chkconfig --list | grep -i network NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off # service NetworkManager stop # service network restart
設定例
仮想NIC名 | bond0 |
---|---|
動作モード | 6 … Active Load Balancing (ALB, 負荷分散+耐障害性, 受信アダプタ固定) |
IPアドレス設定 | 固定IP |
IPアドレス | 192.168.0.2 |
MASTER | bond0 |
SLAVE | eth0, eth1 |
/etc/modprobe.d/bonding.conf
alias bond0 bonding options bond0 mode=6
/etc/sysconfig/network-scripts/ifcfg-bond0
# Virtual NIC bond0 setting DEVICE=bond0 BOOTPROTO=static IPADDR=192.168.0.2 NETMASK=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 GATEWAY=192.168.0.1 DNS1=192.168.0.2 IPV6ADDR= IPV6PREFIX= ONBOOT=yes #USERCTL=no TYPE=Ethernet DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no #NAME="System bond0"
/etc/sysconfig/network-scripts/ifcfg-eth0 (eth1も同様に。)
MACアドレス(HWADDR)はそれぞれのNICの値を設定する。# Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller DEVICE=eth0 HWADDR=XX:XX:XX:XX:XX:XX BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes TYPE=Ethernet
動作確認
# service network restart # ifconfig bond0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:XXXX errors:0 dropped:0 overruns:0 frame:0 TX packets:XXXX errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:XXXX (XXXX MiB) TX bytes:XXXX (XXXX MiB) eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:XXXX errors:0 dropped:0 overruns:0 frame:0 TX packets:XXXX errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:XXXX (XXXX MiB) TX bytes:XXXX (XXXX MiB) Interrupt:XX Base address:0xXXXX eth1 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:XXXX errors:0 dropped:0 overruns:0 frame:0 TX packets:XXXX errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:XXXX (XXXX MiB) TX bytes:XXXX (XXXX MiB) Interrupt:XX Base address:0xXXXX lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:XXXX errors:0 dropped:0 overruns:0 frame:0 TX packets:XXXX errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:XXXX (XXXX MiB) TX bytes:XXXX (XXXX MiB)
動作確認その2。使用するNICを指定してarping。
# arping -c 5 -I bond0 192.168.0.x # arping -c 5 -I eth0 192.168.0.x # arping -c 5 -I eth1 192.168.0.x
エラー対応
ARPキャッシュポイズニング攻撃
- 同一IPアドレスを複数のMACアドレスに割り当てることになるため、サーバからのアクセスをクライアントがARPキャッシュポイズニング攻撃と誤判定することがある。
- サーバからのアクセスに対しクライアント側のファイアウォールに例外を許可するよう設定する。