zoukankan      html  css  js  c++  java
  • IP Alias linux中单网卡多IP

    最近由于测试的需要,

    在一台linux 机器下配置单网卡多个IP,

    脚本如下

    #!/bin/sh
    # ip_alias.sh
    #author.....
    #20130110
    #for addint or delete 1,000 net-card alias
    #from 10.3.231.1~200
    #from 10.3.232.1~200
    #from 10.3.233.1~200
    #from 10.3.234.1~200
    #from 10.3.235.1~200
    
    #10.3.231.1         168027905    
    #10.3.231.200        168028104
    
    #10.3.232.1         168028161
    #10.3.232.200        168028360
    
    #10.3.233.1         168028417
    #10.3.233.200        168028616
    
    #10.3.234.1         168028673
    #10.3.234.200        168028872
    
    #10.3.235.1         168028929
    #10.3.235.200        168029128
    
    
    #usage: sh ip_alias.sh add
    #usage: sh ip_alias.sh del
    
    cc_max=235
    bb_max=200
    ip_pre="10.3."
    net_card_num=0;
    
    if [ "$1" == "add" ];
    then
    for (( i = 231; i <= cc_max ; i ++ ))
    do
            for ((j = 1; j <= bb_max; j ++))
            do
                    ip=${ip_pre}${i}"."${j}
                    let net_card_num+=1;
                    echo $net_card_num;
                    ifconfig eth0:$net_card_num $ip netmask 255.255.0.0 up
                    echo $ip
            done
    
    done
    elif [ "$1" == "del" ];
    then
            for (( i = 231; i <= cc_max ; i ++ ))
            do
                    for ((j = 1; j <= bb_max; j ++))
                    do
                            ip=${ip_pre}${i}"."${j}
                            let net_card_num+=1;
                            echo $net_card_num;
                            ifconfig eth0:$net_card_num $ip netmask 255.255.0.0 down
                            echo $ip
                    done
    
    done
    else
            echo "error parameter"
            echo "#usage: sh ip_alias.sh add"
            echo "#usage: sh ip_alias.sh del"
    fi

    参考了...

    http://bbs.neten.de/viewthread.php?tid=574

    IP Alias - linux中单网卡多IP

    可以运行命令ifconfig 添加IP Alias 

    在eth0:0上添加IP地址192.168.0.128/255.255.255.0
    复制内容到剪贴板
    代码:
    # ifconfig eth0:0 192.168.0.128netmask 255.255.255.0 up
    删除IP Alias eth0:0
    复制内容到剪贴板
    代码:
    # ifconfig eth0:0 down
    为一块网卡配置多IP可以通过命令行设置也可以通过配置文件设置,以下我分别通过这两种方式实现:

    1.用命令行设置
    复制内容到剪贴板
    代码:
    ifconfig命令格式:ifconfig 设备名 IP netmask 掩码 broadcast 广播地址 动作
    # ifconfig
    复制内容到剪贴板
    代码:
    eth0 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.16.108 Bcast:192.168.16.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:2 errors:0 dropped:0 overruns:0 frame:0
    TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:224 (224.0 b) TX bytes:387 (387.0 b)
    Interrupt:11 Base address:0x2000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:773 errors:0 dropped:0 overruns:0 frame:0
    TX packets:773 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:52352 (51.1 Kb) TX bytes:52352 (51.1 Kb)
    可以看到,当前eth0的IP为192.168.16.108,此时请注意一下MAC(00:0E:1F:01:6C:50)

    现在我们为eth0绑定另一个IP,设备为eth0:0,可以看到,现在又多了一个IP,注意,网卡实际上只有一块(可以看MAC,都为00:0E:1F:01:6C:50),却绑定了两个IP,可以依此配置多个IP。
    复制内容到剪贴板
    代码:
    # ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0
    # ifconfig
    复制内容到剪贴板
    代码:
    eth0 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.16.108 Bcast:192.168.16.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:29 errors:0 dropped:0 overruns:0 frame:0
    TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:2879 (2.8 Kb) TX bytes:387 (387.0 b)
    Interrupt:11 Base address:0x2000

    eth0:0 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:29 errors:0 dropped:0 overruns:0 frame:0
    TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:2879 (2.8 Kb) TX bytes:387 (387.0 b)
    Interrupt:11 Base address:0x2000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:7329 errors:0 dropped:0 overruns:0 frame:0
    TX packets:7329 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:500674 (488.9 Kb) TX bytes:500674 (488.9 Kb)
    2.通过配置文件设置多IP
    网卡IP配置的文件在/etc/sysconfig/network-scripts/下,文件分别为ehtx或ethx:x
    # cd /etc/sysconfig/network-scripts/
    # ls


    ifcfg-eth0 ifdown-ippp ifdown-ppp ifup-aliases ifup-isdn ifup-ppp ifup-wireless
    ifcfg-lo ifdown-ipv6 ifdown-sit ifup-ippp ifup-plip ifup-routes init.ipv6-global
    ifdown ifdown-isdn ifdown-sl ifup-ipv6 ifup-plusb ifup-sit network-functions
    ifdown-aliases ifdown-post ifup ifup-ipx ifup-post ifup-sl network-functions-ipv6

    #这是eth0的对应的内容
    #vi ifcfg-eth0
    复制内容到剪贴板
    代码:
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    USERCTL=no
    PEERDNS=yes
    TYPE=Ethernet
    IPADDR=192.168.16.108
    NETMASK=255.255.255.0
    HWADDR=00:0e:1f:01:6c:50
    GATEWAY=192.168.16.1
    NETWORK=192.168.16.0
    BROADCAST=192.168.16.255
    配置另一IP,因我们刚才已配置了eth0:0,所以此时要用eth0:1了
    # cp ifcfg-eth0 ifcfg-eth0:1
    修改配置文件,内容如下
    # vi ifcfg-eth0:1
    复制内容到剪贴板
    代码:
    DEVICE=eth0:1
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.2.100
    NETMASK=255.255.255.0
    NETWORK=192.168.2.0
    启动eth0:1,查看,此时是不是就已经有三个IP了?
    # ifup eth0:1
    # ifconfig
    复制内容到剪贴板
    代码:
    eth0 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.16.108 Bcast:192.168.16.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:52 errors:0 dropped:0 overruns:0 frame:0
    TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:6037 (5.8 Kb) TX bytes:627 (627.0 b)
    Interrupt:11 Base address:0x2000

    eth0:0 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:52 errors:0 dropped:0 overruns:0 frame:0
    TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:6037 (5.8 Kb) TX bytes:627 (627.0 b)
    Interrupt:11 Base address:0x2000

    eth0:1 Link encap:Ethernet HWaddr 00:0E:1F:01:6C:50
    inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:52 errors:0 dropped:0 overruns:0 frame:0
    TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:6037 (5.8 Kb) TX bytes:627 (627.0 b)
    Interrupt:11 Base address:0x2000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:14131 errors:0 dropped:0 overruns:0 frame:0
    TX packets:14131 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:965895 (943.2 Kb) TX bytes:965895 (943.2 Kb)
    OK,配置成功,这个随便你用哪种方法都可以,用配置文件的方法可以写一些注释,而用ifconfig则简单方便,这就看你的爱好了。

    转自:Linux教程-红旗.Redhat操作系统命令学习
  • 相关阅读:
    jdk1.8新特性
    jdk1.7新特性
    jdk1.6新特性
    第十九课 pluginlib&Nodelet
    第十八课 Gazebo仿真器
    第十七课 导航实践(2)
    第十六课 导航实践(1)
    第十五课 导航基础
    十四课 slam&gmapping
    第十三课 Actionlib(2)
  • 原文地址:https://www.cnblogs.com/vimmer/p/2860668.html
Copyright © 2011-2022 走看看