zoukankan      html  css  js  c++  java
  • linux 添加secondary ip

    http://blog.chinaunix.net/uid-346158-id-2131136.html

    linux下ip地址除了primary外,还有两种:
    1. ip alias(子接口)
    2. secondary ip(辅助ip)

    都可在一块物理网卡上添加,alias由ifconfig添加,ifconfig查看时以子接口如eth0:1的形式显示;secondary ip由ip命令所支持.

    添加子接口:
    # ifconfig eth0:1 10.10.56.33/24 up               

    #添加到内存中并立即生效,ifconfig和ip addr sh可查看.也可到/etc/sysconfig/network-scripts目录下面创建一个对应的子接口配置文件:
    cd
    /etc/sysconfig/network-scripts ;
    cp ifcfg-eth0 ifcfg-eth0:0 ;
    编辑:ifcfg-eth0:0, 将里面的设备名称和ip地址等修改即可: 
    DEVICE=eth0:0
    IPADDR=10.10.56.33
    Linux最多255个ip alias.



    添加secondary ip:
    # ip a add dev eth1 172.16.18.18/24 brd 172.16.18.255
    # ip a sh dev eth1
    ......         
    inet 172.16.18.118/24 brd 172.16.18.255 scope global secondary eth1
    #如果添加的是同网段的ip,那么显示的是secondary ip;如果不是同一网段的那就是primary. 不过对于物理网卡,对于我们来说,除了第一个配置的ip地址,之后添加的都可以算是secondary了.这里添加的ip ifconfig命令是看不到的.
    就我本人所知, ip添加secondary ip只添加到内存,不知道是否可以以配置文件的方式实现.

    -------------------------

    对secondary ip address的理解 

    为端口设置一个IP地址,在端口设置状态下
    ip address 本端口IP地址 子网掩码


    另外,在同一端口中可以设置两个以上的不同网段的IP地址,这样可以实现连接在同一局域网上不同网段之间的通讯。一般由于一个网段对于用户来说不够用,可以采用这种办法。


    在端口设置状态下

    ip address 本端口IP地址 子网掩码 secondary



    注意:如果要实现连在同一路由器端口的不同网段的通讯,必须在端口设置状态下

    ip redirect


    一般地,Cisco路由器不允许从同一端口进来的IP包又发回到原端口中,ip redirect表示允许在同一端进入路由器的IP包由原端口发送回去。


    2、网络中含有0的IP地址如138.0.0.1或192.1.0.2,强烈建议尽量不要使用这样的IP地址,如要使用这的地址,在全局设置模式下必须设置


    ip subnet-zero

    -------------------------------

    ip alias and secondary ip address different?

    孤陋寡闻了,以前一直以为ip别名(ip aliase)和辅助ip地址(secondary ip address)是一码事情。或者说是不知道还有secondary
    ip address一说。

    今天偶然翻阅linux enterprise cluster时,提到了这样一句话:
    引用
    As of this
    writing, the Linux kernel supports both IP aliases and secondary IP addresses,
    though IP aliases are deprecated in favor of secondary IP
    addresses.

    那也就意味着secondary ip address和ip aliase是不同的概念,首先问Google,Google没有给我好的答案。只好自己摸索了,于是目前只能得到下面的一些概念:

    ip
    alias和secondary ip address是两种不同的实现方式,用来在Linux系统中给同一个物理网卡增加多个ip地址。

    ip
    alias是由ifconfig程序来创建和维护的,而secondary ip address则是有ip程序来创建和维护的。ip addr add
    创建的scondary ip address不能在ifconfig -a中看到,反过来,ifconfig创建的ethX:Y却能在ip addr
    show中看到。

    ip alias大家比较熟悉,因此说说secondary ip
    address如何创建


    [root@mlsx autostart]# ifconfig
    eth1 Link
    encap:Ethernet HWaddr 00:13:77:00:7C:C6
    inet addr:192.168.0.100
    Bcast:192.168.0.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST
    MTU:1500 Metric:1
    RX packets:163438 errors:2515 dropped:0 overruns:0
    frame:2515
    TX packets:165217 errors:0 dropped:0 overruns:0
    carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:96792997 (92.3 MiB) TX
    bytes:16356841 (15.5 MiB)

    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:561 errors:0 dropped:0 overruns:0 frame:0
    TX packets:561 errors:0
    dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:119798
    (116.9 KiB) TX bytes:119798 (116.9 KiB)

    eth0被我用ifconfig eth0
    down了。

    [root@mlsx autostart]# ip addr sh
    2: lo:
    <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
    link/loopback
    00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    4:
    eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast qlen
    1000
    link/ether 00:12:f0:1d:e8:c5 brd ff:ff:ff:ff:ff:ff
    inet
    192.168.1.101/24 brd 192.168.1.255 scope global eth0
    6: eth1:
    <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen
    1000
    link/ether 00:13:77:00:7c:c6 brd ff:ff:ff:ff:ff:ff
    inet
    192.168.0.100/24 brd 192.168.0.255 scope global
    eth1

    down下去的eth0在这里还是能体现出来的。

    [root@mlsx autostart]# ip addr add
    192.168.0.102/24 dev eth1
    [root@mlsx autostart]# ip addr sh eth1
    6: eth1:
    <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen
    1000
    link/ether 00:13:77:00:7c:c6 brd ff:ff:ff:ff:ff:ff
    inet
    192.168.0.100/24 brd 192.168.0.255 scope global eth1
    inet 192.168.0.102/24
    scope global secondary eth1
    [root@mlsx autostart]# ping 192.168.0.102
    PING
    192.168.0.102 (192.168.0.102) 56(84) bytes of data.
    64 bytes from
    192.168.0.102: icmp_seq=1 ttl=64 time=0.049 ms
    64 bytes from 192.168.0.102:
    icmp_seq=2 ttl=64 time=0.043 ms

    通过ip程序增加了一个secondar ip address,通过ip addr
    show也能看到,而且能ping通,但是ifconfig中却看不到。

    [root@mlsx autostart]# ifconfig
    -a
    eth1 Link encap:Ethernet HWaddr 00:13:77:00:7C:C6
    inet
    addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
    UP BROADCAST
    RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:163888 errors:2515 dropped:0
    overruns:0 frame:2515
    TX packets:165696 errors:0 dropped:0 overruns:0
    carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:96837439 (92.3 MiB) TX
    bytes:16426734 (15.6 MiB)

    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:565 errors:0 dropped:0 overruns:0 frame:0
    TX packets:565 errors:0
    dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:120134
    (117.3 KiB) TX bytes:120134 (117.3 KiB)

  • 相关阅读:
    RE
    【LeetCode】198. House Robber
    【LeetCode】053. Maximum Subarray
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】238.Product of Array Except Self
    【LeetCode】042 Trapping Rain Water
    【LeetCode】011 Container With Most Water
    【LeetCode】004. Median of Two Sorted Arrays
    【LeetCode】454 4Sum II
    【LeetCode】259 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/3121064.html
Copyright © 2011-2022 走看看