linuxネットワーク管理およびプロパティコマンド


一.Linuxネットワーク管理コマンド
1.Ifconfigコマンド
ifconfig現在のネットワーク情報を表示
   : ifconfig  [INTERFACE]

一般的なオプション:
-a:すべての情報を表示
ifconfig IFACE up|down有効|あるNICインタフェースを無効にする
ifconfig interface [aftype] options | address ...
       # ifconfig IFACE IP/mask [up]
       # ifconfig IFACE IP netmask MASK
ハイブリッドモードの有効化:[-]promisc
Note:有効になるとすぐに有効になります.再起動後は有効になりません!
Eg:eth 1インタフェースを無効にする
[root@localhost ~]# ifconfig eth1 down
[root@localhost ~]# ifconfig      //    eth1       
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7B:65:71  
          inet addr:172.16.249.202  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe7b:6571/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:159414 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4673 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12952278 (12.3 MiB)  TX bytes:666573 (650.9 KiB)
 
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:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2.Routeコマンド
一般的なオプション:
-n:ルーティングテーブル情報の表示
フォーマット:route add|del[-net|-host]target[netmask Nm][gw Gw][[dev]If]
     add | del
-net:追加|ネットワークルーティングの削除(セグメントの追加)
-host:ホストルーティングの追加|削除
-gw:ゲートウェイの追加|削除
-netmask:サブネットマスクの追加|削除
default:追加|デフォルトルーティングの削除
Eg 1:eth 0にホストルーティングを追加すると192.168.1.3、デフォルトゲートウェイは172.16.0.1
[root@localhost ~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.3     172.16.0.1      255.255.255.255 UGH   0      0        0 eth0
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
  192.168.1.3    
[root@localhost ~]# route del -host 192.168.1.3 
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# 
       
[root@localhost ~]# route del -net  192.168.0.0/24
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.27.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
  [root@localhost ~]# route del -net  192.168.0.0 netmask 255.255.255.0 
Eg2: eth0           192.168.0.0      172.16.0.1
[root@localhost ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
[root@localhost ~]# route add -net 192.168.0.0/24  gw 172.16.0.1 dev eth0

3.Netstatコマンド
  1>.ネットワーク接続の表示:
  : 
netstat  [--tcp|-t] [--udp|-u]  [--raw|-w]  [--listening|-l]  [--all|-a] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--symbolic|-N] [--extend|-e[--extend|-e]]

一般的なオプション:
-t:tcpプロトコル関連
-u:udpプロトコル関連
-l:傍受ソケット//常跟-t,-uオプション
-p:印刷情報
-e:拡張情報
-n:数値表示
-p:関連pid情報を表示
Eg:            tcp              
[root@chang ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1821/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1612/cupsd          
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      2181/sshd           
tcp        0      0 0.0.0.0:50982               0.0.0.0:*                   LISTEN      1580/rpc.statd      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1478/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      1821/sshd           
tcp        0      0 ::1:631                     :::*                        LISTEN      1612/cupsd          
tcp        0      0 ::1:25                      :::*                        LISTEN      1935/master         
tcp        0      0 :::35321                    :::*                        LISTEN      1580/rpc.statd      
tcp        0      0 ::1:6010                    :::*                        LISTEN      2181/sshd           
tcp        0      0 :::111                      :::*                        LISTEN      1478/rpcbind

 
2>.ルーティング情報の表示
フォーマット:netstat{--route|-r}[--numeric|-n][--numeric-hosts][--numeric-ports][--numeric-ports]
一般的なオプション:
-r:カーネルルーティングテーブルを表示
-n:数値形式で表示
 
   3>.インタフェース統計の表示
     netstat  {--interfaces|-I|-i} [iface] [-all|-a] [--extend|-e] [--program|-p]
一般的なオプション:
-i:すべてのインタフェース情報を表示
-I IFACE:複数指定のインタフェース情報を表示する
二.Linuxネットワーク属性コマンド
1.Ipコマンド
フォーマット:ip[OPTIONS]OBJECT{COMMAND|help}
 OBJECT := { link | addr | route }
   ip link   - network device configuration
set DEVICE{up|down}アクティブ化|インタフェース無効化
          show DEVICE   
show up:アクティブなインタフェースのみ表示
    ip  address -  protocol address management
       ip addr { add | del } IFADDR dev STRING  
[label LABEL]:アドレスの追加時にNICの別名を指定
[scope{global|link|host}:役割ドメインの指定
global:グローバルで使用可能;
link:リンクのみ使用可能;
host:本機使用可能; 
         ip address show - look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
 
 ip address flush - flush protocol addresses
フォーマットとshowの使用
     ip route - routing table management
 
 ip route add
ルートの追加:ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
ホストルーティング:IP
ネットワークルーティング:NETWORK/MASK
追加ゲートウェイ:ip route add defalt via GW dev IFACE
 ip route delete
削除ルーティング:ip route del TARGET
         ip route show
         ip route flush
         [dev IFACE]
         [via PREFIX]
2.ssコマンド
形式:ss[options][FILTER]
一般的なオプション:
-t:tcpプロトコル関連
-u:udpプロトコル関連
-w:裸ソケットを表示
-x:unix sock関連
-l:リスニング状態の接続
      -a  : all
-n:数値形式で表示
-p:関連プログラムおよびpid
-e:extendの情報
-m:メモリ使用量
-o:タイマー情報
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
EXPRESSION:
    dport = 
    sport = 
補足:tcpの一般的なステータス
LISTEN:傍受
EATABLISHED:確立された接続
   FIN_WAIT_1
   FIN_WAIT_2
   SYN_SENT
   SYN_RECV
   CLOSE
ssコマンドはnetstatコマンドと似ていますが、現在の接続数が大きい場合はssコマンドの方が使いやすいです.