hollyさんのwiki

とりあえずあんまりいじる機会がないけど、まとめてみた

例えばNICが2つあるサーバとかでeth1を新たに使いたい場合

linuxの話。
/etc/sysconfig/network-scripts/ifcfg-eth1に
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.255.255
IPADDR=192.168.1.xxx
NETMASK=255.255.0.0
NETWORK=192.168.0.0
ONBOOT=yes
みたいな感じのファイルを作って
/etc/rc.d/init.d/network restart
とすればいい。けどこれだと既存のnetworkを一回再起動することになるから、ちょっとあれな場合は
ifconfig eth1 192.168.1.xxx netmask 255.255.255.0
ifconfig eth1 up
#route add default gw 192.168.1.1
とする

指定したネットマスク内でどれだけIP使えるか

ipcount

ipcountというものがあるので使う(centosだとperl-Net-IPをインストールすると/usr/bin/ipcountとしてインストールされている)
ipcount 192.168.1.0/24                                                         [~]
      192.168.1/24        192.168.1.0 - 192.168.1.255   [256]

一覧でずらっと出す

自作で
#!/bin/sh

if [ $# -ne 1 ]; then
    echo "Usage: getip ip/mask"
    exit 1
fi

ips=$1
ip=$(echo $ips | awk -F/ '{ print $1 }')
netmask=$(echo $ips | awk -F/ '{ print $2 }')

binary=$(for i in $(seq 1 $(expr 32 - $netmask)); do echo -n 1; done)
decimal=$(echo "ibase=2; $binary" | bc)
decimal=$(echo "$decimal - 1" | bc)
octets=($(echo $ip | awk -F. '{ printf "%i %i %i %i\n", $1, $2, $3, $4 }'))

for i in $(seq 0 $decimal); do
    echo "${octets[0]}.${octets[1]}.${octets[2]}.${octets[3]}"

    octets[3]=$(echo ${octets[3]} + 1 | bc)
    if [ ${octets[3]} -gt 255 ]; then
        octets[3]=0
        octets[2]=$(echo ${octets[2]} + 1 | bc)
    fi

    if [ ${octets[2]} -gt 255 ]; then
        octets[2]=0
        octets[1]=$(echo ${octets[1]} + 1 | bc)
    fi

    if [ ${octets[1]} -gt 255 ]; then
        octets[1]=0
        octets[0]=$(echo ${octets[0]} + 1 | bc)
    fi

done
元ねたはhttp://akihiro.jugem.jp/?eid=164。php使えばという話だけど、うちの環境はphp入れてないし。perlでもいいかも

ネットマスク早見表

iptabを使う。ipcountと同じくperl-Net-IPの付属品
+----------------------------------------------+
| addrs   bits   pref   class  mask            |
+----------------------------------------------+
|     1      0    /32          255.255.255.255 |
|     2      1    /31          255.255.255.254 |
|     4      2    /30          255.255.255.252 |
|     8      3    /29          255.255.255.248 |
|    16      4    /28          255.255.255.240 |
|    32      5    /27          255.255.255.224 |
|    64      6    /26          255.255.255.192 |
|   128      7    /25          255.255.255.128 |
|   256      8    /24      1C  255.255.255.0   |
|   512      9    /23      2C  255.255.254.0   |
|    1K     10    /22      4C  255.255.252.0   |
|    2K     11    /21      8C  255.255.248.0   |
|    4K     12    /20     16C  255.255.240.0   |
|    8K     13    /19     32C  255.255.224.0   |
|   16K     14    /18     64C  255.255.192.0   |
|   32K     15    /17    128C  255.255.128.0   |
|   64K     16    /16      1B  255.255.0.0     |
|  128K     17    /15      2B  255.254.0.0     |
|  256K     18    /14      4B  255.252.0.0     |
|  512K     19    /13      8B  255.248.0.0     |
|    1M     20    /12     16B  255.240.0.0     |
|    2M     21    /11     32B  255.224.0.0     |
|    4M     22    /10     64B  255.192.0.0     |
|    8M     23     /9    128B  255.128.0.0     |
|   16M     24     /8      1A  255.0.0.0       |
|   32M     25     /7      2A  254.0.0.0       |
|   64M     26     /6      4A  252.0.0.0       |
|  128M     27     /5      8A  248.0.0.0       |
|  256M     28     /4     16A  240.0.0.0       |
|  512M     29     /3     32A  224.0.0.0       |
| 1024M     30     /2     64A  192.0.0.0       |
| 2048M     31     /1    128A  128.0.0.0       |
| 4096M     32     /0    256A  0.0.0.0         |
+----------------------------------------------+

NICの状態をみる

なんとなく。受信/送信回数、受信/送信byteの統計をみる

netstat

netstat -in
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0     1326      0      0      0     2083      0      0      0 BMRU
lo        16436   0    13210      0      0      0    13210      0      0      0 LRU

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:E4:6B
          inet addr:192.168.1.xxx  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe00:e46b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2039 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:91948 (89.7 KiB)  TX bytes:338978 (331.0 KiB)
          Base address:0x1080 Memory:e8820000-e8840000

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:13210 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13210 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:216464340 (206.4 MiB)  TX bytes:216464340 (206.4 MiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  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)

/proc

直接情報を見る場合は
cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:216464340   13210    0    0    0     0          0         0 216464340   13210    0    0    0     0       0          0
  eth0:   98135    1361    0    0    0     0          0         0   347682    2109    0    0    0     0       0          0
  sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
/proc/net/devを見る

Default Gatewayの優先順位

NICが2つ以上あり、それぞれの設定ファイル(/etc/sysconfig/network-scripts/ifcfg-eth*)にGATEWAYの設定がされている場合は優先したいNICの設定ファイルにだけGATEWAYの記述を行うか、/etc/sysconfig/networkに以下の記述を追加する
GATEWAYDEV=eth0
GATEWAY=172.16.xxx.xxx
のように記述するとこの場合だとeth0の172.16.xxx.xxxがDefault Gatewayとして認識される(設定を追加したあとはネットワークの再起動が必要)

Wiki内検索

Menu

ここは自由に編集できるエリアです。

管理人/副管理人のみ編集できます