Category Archives: Netwoork

IPV6を無効化する

OSはデフォルトでIPV6が利用できるようになっている場合が多くありますが、これがたまにじゃまをするために、IPV6を無効にしたい場合があります。

ここでは、CentOSでの IPV6 無効化の方法を記載します。

なお、IPV6を無効化した場合、/etc/hosts の見直しや、各デーモンの IPV6 機能の停止をおすすめします。( postfix や sshd などのIPV6無効化や ip6tables デーモン の停止など)

 

モジュールのロードを無効にする

CentOS-5

/etc/modprobe.conf で、IPV6系のモジュールを無効にします。

alias ipv6 off
options ipv6 disable=1

ip6tables を停止

 chkconfig ip6tables off

 

CentOS-6

/etc/modprobe.d/ipv6.conf を以下の内容で作成

options ipv6 disable=1

ip6tables を停止

 chkconfig ip6tables off

 

無効化されているかどうかは、ifconfig コマンドで確認します。

これで無効化されない場合は、以降の各ネットワークインターフェースの設定などを確認してください。

それでもダメなら、/etc/sysctl.conf に無効化の設定を入れます。(確実に無効化されます。)

 

CentOS-7

CentOS-6と同じ方法でも無効化できますが、GRUB2からKernelに起動オプションを渡すことにより無効化できます。(こちらがオススメ)

/etc/default/grubの以下の行に、ipv6.disable=1 を追加します。*一行です。

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16
 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet
 ipv6.disable=1"

/etc/default/grubの設定を、/boot/grub2/grub.cfg に反映させるため、grub2-mkconfig コマンドを発行します。なお、BIOSのマシンとUEFIのマシンとで、反映させるファイルが異なりますのでご注意ください。

・BIOS

grub2-mkconfig -o /boot/grub2/grub.cfg

・UEFI

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

無効化されたかの確認は、以下のコマンドでinet6の表示がなくなっていればOKです。

ip addr show

 

 

ネットワークの共通設定で、IPV6を無効にする

/etc/sysconfig/network で、IPV6 を無効にします。

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=sv01.unixlife.local

 

無効化されているかどうかは、ifconfig コマンドで確認します。

 

各インターフェースの設定で、IPV6を無効にする

各インターフェースをでIPアドレスを設定する場合にも、IPV6を無効にする設定を追加します。

ここでは、eth0 に設定する場合を示します。

/etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USRCTL=no
SLAVE=yes
MASTER=bond0
PEERDNS=yes
IPV6INIT=no

 

無効化されているかどうかは、ifconfig コマンドで確認します。

 

ipv6が無効化出来ない場合

CentOS-6やRHEL-6でipv6が設定ファイルだけでは無効化出来ない場合があります。

 

その場合は、/etc/sysctl.conf に以下を追記します。

 net.ipv6.conf.all.disable_ipv6 = 1
 net.ipv6.conf.default.disable_ipv6 = 1

 

次に、設定を反映させます。

systcl -p

 

無効化されているかどうかは、ifconfig コマンドで確認します。

 

以上で、IPV6の無効化に関する設定は終了です。

 

 

VLAN の設定

Linux では、IEEE802.1QVLANタギングを利用したVLANインタフェースを手軽に扱えます。

また、これを設定するためには、vconfig コマンドで行います。

ここでは、実際の設定例を示します。

 

OSでVLANを利用可能にする

CentOS , RHELでVLANを利用するには、/etc/sysconfig/network にVLAN=yesを追加します。

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=sv01.unixlife.local
VLAN=yes

 

 

vconfig コマンド

vconfig コマンドを利用して、VLANインタフェースの追加、削除を行います。

 

VLANインタフェースの追加

vconfig add 物理インターフェース VLAN番号

 

eth0にVLANタグ番号100を追加するには、以下のようにします。

vconfig add eth0 100

 

VLANインタフェースの削除

vconfig rem 物理インターフェース.VLAN番号

 

eth0のVLANタグ番号100を削除するには、以下のうようにします。

vconfig rem eth0.100

 

 

設定の確認

vconfig コマンドで設定した内容は以下で確認します。

cat /proc/net/vlan/config

 

設定情報は以下のように表示されます。

VLAN Dev name	 | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.100      | 100  | eth0

 

 

VLANネットワークの設定

vconfig コマンドでOSがVLANをお話できる準備は出来ましたので、実際にIPアドレス等を設定していきます。

ネットワークの設定は、通常のそれと大した違いはありません。

 

eth0にVLANタグ100を設定する場合

/etc/sysconfig/network-script/ifcfg-eth0.100 を以下の内容で作成します。

DEVICE=eth0.100
BOOTPROTO=none
ONBOOT=yes
USRCTL=no
TYPE=Ethernet
BROADCAST=192.168.100.255
IPADDR=192.168.100.10
NETMASK=255.255.255.0
NETWORK=192.168.100.0

 

設定が終了したら、ネットワークを再起動します。

/etc/init.d/network restart

 

bonding + vlan の設定

bondingインターフェースへVLANを設定する場合は、bondingインターフェースを以下のように作成します。

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
USRCTL=no
TYPE=Ethernet

 

bonding インターフェースの設定ができたら、bond0 インターフェースにVLANの設定を行います。

コマンドでのVLAN追加

vconfig add bond0 100

 

設定ファイルへの設定

/etc/sysconfig/network-scripts/ifcfg-bond0.100

DEVICE=bond0.100
BOOTPROTO=none
ONBOOT=yes
USRCTL=no
TYPE=Ethernet
BROADCAST=192.168.100.255
IPADDR=192.168.100.10
NETMASK=255.255.255.0
NETWORK=192.168.100.0

 

*bonding の設定詳細は、bonding の設定 を参照ください。

arp の設定

arpテーブル

arpテーブルとは、通信している器機のIPアドレスとMACアドレスの対応表です。
実際に他の機器にpingなどで通信する場合は、このarpテーブル内の設定を参照しMACアドレスを確認するため、同じIPを設定した別の器機(MACが変わる)を接続しても、arpテーブル内のMACアドレスが正しいものに書き変わるまでネットワーク接続の確立はできません。
滅多にあることではありませんが、非常時に故障した機器を、同じ設定をした予備機に交換した場合などに、まれに問題になります。

 

arpテーブルの基本コマンド

設定の参照

arp -a

設定の削除

arp -d [IPアドレス]

設定の追加

arp -s [IPアドレス] [MACアドレス]

 

arpテーブル実際の設定

ここでは、hostaが故障し、全く同じ設定をした予備機に変更した場合に、arpテーブルが書き変わらない時を想定します。

現在のarpテーブルを確認する。

arp -a
gw1 (192.168.1.254) at 00:00:00:00:00:00 [ether] on eth0
hosta (192.168.1.10) at 00:00:00:00:00:01 [ether] on eth0
? (192.168.1.20) at 00:00:00:00:00:02 [ether] on eth0

内容は、ホスト名、IPアドレス、MACアドレス、割り当てられてるデバイスです。
ホスト名が、?の物は、名前解決出来ない場合の表記です。

 

問題のarpレコード(hosta)を削除

arp -d 192.168.1.10

arpテーブルからhostaのレコードが削除されているか確認してください。

 

arpレコードの再設定

再設定には2種類方法があります。
コマンドで新たに追加する場合と、単純にhostaにpingを打って自動でarpテーブルに追加方法もありますが、より確実なのは、やはりコマンドで追加する方法です。

 

pingでhostaのarpレコードを追加する。

ping 192.168.1.10

コマンド発行後、arpテーブルに新しいhostaのレコードが出来ているか確認してください。
成功していれば終了ですが、ダメならコマンドで追加します。

 

コマンドでarpレコードを追加する

まず最初に、新しいhostaのMACアドレスを調べてください。
ここでは、 00:00:00:00:00:11とします。

arp -s 192.168.1.10 00:00:00:00:00:11

最後にarpテーブルを確認してください。

arp -a
gw1 (192.168.1.254) at 00:00:00:00:00:00 [ether] on eth0
hosta (192.168.1.10) at 00:00:00:00:00:11 [ether] on eth0
? (192.168.1.20) at 00:00:00:00:00:02 [ether] on eth0

これで、arpテーブルの更新作業は終了です。