はじめに
LPIC201の勉強をしていて「Linuxホストの場合カーネル変数net.ipv4.icmp_echo_ignore_broadcastsの値はSmurt対策としてデフォルトでは1に設定しており、ブロードキャストを無視する」
ということを知る。
一生懸命ブロードキャストを実行しても返事がないと思ったらそういうことかーー!
ということで検証する
前提条件
Vagrant 上にてCentOS7を実行。
HOST名/CentOS72_sv1
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# ip addr show dev enp0s8
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ee:fa:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.33.10/24 brd 192.168.33.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feee:fa43/64 scope link
valid_lft forever preferred_lft forever
HOST名/CentOS72_sv2
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# ip addr show dev enp0s8
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:07:97:d6 brd ff:ff:ff:ff:ff:ff
inet 192.168.33.11/24 brd 192.168.33.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe07:97d6/64 scope link
valid_lft forever preferred_lft forever
カーネル変数net.ipv4.icmp_echo_ignore_broadcastsの値をチェック
ここが想定通りじゃないと始まらないので見てみる
→ホントでした。。。
なるほどなるほど、今どきブロードキャストは応答無くて当たり前、なんですね。。。
カーネル変数を変更して有効化する
https://qiita.com/masahixixi/items/14630b501d8fb8aee477 によると
↓↓のコマンドで変更可能、とのこと。
# sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0
ちなみに恒久的に変更したい場合は
# vim /etc/sysctl.conf
で変更すればよいとのこと。
早速ブロードキャスト打ってみる。
ホントに応答来るようになった…。すごい。
試しに変数を1に戻したらブロードキャストの応答がなくなるのか確認すると、ホントに応答なくなった。すごい。
CenOS72_sv2もブロードキャストOKにしてみてどんな感じに応答来るのか試してみる
実際の結果がコチラ。LPIC201の参考書通りの結果になった。よかった。。。
# ping -b 192.168.33.255