vmwareにcentos7をインストールしてネットワークインターフェイス設定をブリッジにしてホストOSのネットワーク設定をしようとしてvi /etc/network/interfacesと設定ファイルを開こうとしたら空っぽ
それどころか/etc/networkディレクトリが存在しない。とりあえずifconfigで設定しようとしたらifconfig自体無い!なんてこった!
ググッて見るとどうやらnet-toolsが標準ではなくなりiproute2に置き換わったそうな。
というかだいぶ前からiprouteはあったんですが、ずるずるとnet-toolsを使い続けていた状態だったようです。
net-toolsが無くなるとすると以下のコマンドが使えなくなります。
- plipconfig
- ifconfig
- mii-tool
- ipmaddr
- slattach
- rarp
- route
- iptunnel
- nameif
- arp
いつもネットワークの設定といったらifconfigとrouteでやってたしMACアドレスを見るのにもarpを使っていたので結構痛いです。
まあ標準ではなくなっただけでリポジトリにはちゃんとあるので下記コマンドでインストールすれば以前のように使えます。
# yum install net-tools
しかし、標準ではなくなるということは時代の変化というやつなわけで自分の脳みそもアップデートしないといけないわけですよ。
近い将来iprouteに置き換わっていくようなのでipコマンドの使い方を覚えておきましょう。
ipコマンドによるネットワーク設定
構文: ip [OPTION] OBJECT { COMMAND }
- OBJECT
- link , addr , addrlabel , route , rule , neigh , ntable , tunnel , tuntap , maddr , mroute , mrule , monitor , xfrm , netns , l2tp , tcp_metrics
- OPTION
- -V[ersion] , -s[tatistics] , -r[esolve] , -f[amily] , inet , inet6 , ipx , dnet , link , -o[neline]
デバイス一覧を表示
# ip link
1: lo:mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:27:0e:05:12:7f brd ff:ff:ff:ff:ff:ff 3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:22:cf:6b:64:f2 brd ff:ff:ff:ff:ff:ff
デバイスのIPアドレスを確認
全て
# ip addr
eth1だけ
# ip addr show dev eth1
3: eth1:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:22:cf:6b:64:f2 brd ff:ff:ff:ff:ff:ff inet 10.0.1.1/8 brd 10.255.255.255 scope global eth1 valid_lft forever preferred_lft forever inet6 2001:c90:88c3:42f:c8a7:63c2:3866:ed90/64 scope global temporary dynamic :
IPアドレスをイーサネットデバイスに割り当て
# ip addr add 10.0.1.2/8 dev eth0
# ip addr add 10.0.1.3/8 dev eth0
# ip addr add 10.0.1.4/8 dev eth0
確認
# ip addr show dev eth0
2: eth0:mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:27:0e:05:12:7f brd ff:ff:ff:ff:ff:ff inet 10.0.1.2/32 scope global eth0 valid_lft forever preferred_lft forever inet 10.0.1.3/32 scope global eth0 valid_lft forever preferred_lft forever inet 10.0.1.4/32 scope global eth0 valid_lft forever preferred_lft forever
IPアドレスの割り当てを解除
# ip addr del 10.0.1.3/8 dev eth0
# ip addr del 10.0.1.3/8 dev eth0
# ip addr show dev eth0
2: eth0:mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:27:0e:05:12:7f brd ff:ff:ff:ff:ff:ff inet 10.0.1.2/32 scope global eth0 valid_lft forever preferred_lft forever
結構詰んだデフォルトゲートウェイの設定
# ip route add default via 10.255.0.1 dev eth0
確認
# ip route show
default via 10.255.0.1 dev eth0 metric 100 10.0.0.0/8 dev eth1 proto kernel scope link src 10.0.1.1
再起動後もネットワーク設定を維持
ipコマンドでの設定はifconfigと同じく一時的なものです。そのため再起動した時点でネットワーク設定がリセットされてしまいます。
恒久的にネットワーク設定を維持したい場合は/etc/sysconfig/network-scripts/ifcfg-デバイス名に設定を記述します。
設定例
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=08:00:27:9D:F4:7B TYPE=Ethernet BOOTPROTO=static BROADCAST=10.255.255.255 IPADDR=10.0.0.2 NETMASK=255.0.0.0 NETWORK=10.0.0.0 GATEWAY=10.0.1.254 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=926e1dbf-94df-4268-a593-6505a5d92ba8 ONBOOT=yes
ss - iproute版netstat
オプションはnetstatとほぼ変わりません。
-a 全てのソケットを表示
-l LISTENしてるソケットを表示
-s サマリを表示
-n 名前解決しない
-t TCPのみ表示
-u UDPのみ表示
$ ss
State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.0.1.1:ssh 10.0.0.1:32486 ESTAB 0 0 10.0.1.1:microsoft-ds 10.0.0.1:1079
TCPのコネクション一覧(名前解決しない)
$ ss -nt
State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.0.1.1:22 10.0.0.1:32486 ESTAB 0 0 10.0.1.1:445 10.0.0.1:1079
LISTENしてるポート一覧(名前解決しない)
$ ss -nl
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* LISTEN 0 128 127.0.0.1:631 *:* LISTEN 0 128 ::1:631 :::* LISTEN 0 100 :::25 :::* LISTEN 0 100 *:25 *:* LISTEN 0 50 *:445 *:* LISTEN 0 128 127.0.0.1:6502 *:* LISTEN 0 50 127.0.0.1:3306 *:* LISTEN 0 50 :::6666 :::* LISTEN 0 100 :::587 :::* LISTEN 0 100 *:587 *:* LISTEN 0 50 *:139 *:* LISTEN 0 128 :::80 :::* LISTEN 0 100 :::465 :::* LISTEN 0 100 *:465 *:*
サマリを表示
$ ss -s
Total: 245 (kernel 0) TCP: 19 (estab 2, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 0 - - RAW 0 0 0 UDP 11 8 3 TCP 18 11 7 INET 29 19 10 FRAG 0 0 0
ip neigh - iproute版arp
$ ip neigh
fe80::207:7dff:fe80:96c6 dev eth1 lladdr 00:07:7d:80:96:c6 router STALE 10.0.0.1 dev eth1 lladdr bc:5f:f4:49:6d:35 DELAY 10.0.0.10 dev eth1 lladdr 08:00:27:9d:f4:7b STALE 10.255.0.1 dev eth1 lladdr 00:0b:a2:e6:bb:65 STALE
参考: http://docs.oracle.com/cd/E39368_01/e48214/ch11s07.html
- 関連記事
-
-
Linux 標準出力のリダイレクト 2014/08/17
-
Linuxでよく使われる圧縮形式 2014/08/13
-
CentOS 7のネットワーク設定/管理 ipコマンド 2014/08/13
-
Virtualbox 4.3.14でLinuxが起動しない 2014/08/13
-
rsyncで世代分け差分バックアップ 2014/08/09
-