Linux操作系统下为网卡配置ip

by:授客 QQ1033553122

1.   Linux单一网卡设置多IP的配置方法

在Linux下网卡接口逻辑名被称为eth0,eth1,eth2,.....,ethN,所有网卡接口的配置文件都存储在/etc/sysconfig/network-scripts/下,文件名是以ifcfg-eth0,ifcfg-eth1,ifcfg-eth2,....,ifcfg-ethN形式来命名的。一个网卡接口对应一个配置文件。如果我们要给某个网卡接口配置两个IP地址,我们该怎么办呢?

例:为网卡接口eth0配置两个ip

步骤1.复制网卡接口eth0配置文件

# cp ifcfg-eth0 ifcfg-eth0:0

说明:eth*:n 虚拟网卡接口,建立于eth0网卡接口边上,*表示网卡(接口)号,n表示虚拟网卡接口号,范围0-255

步骤2.编辑修改ifcfg-eth0:0中相应的字段

假设ifcfg-eth0本身已经有ip了,配置如下:

DEVICE=eth0 //这里是网卡设备名,改为eth0:0

BOOTPROTO=none //设置为none,设置为静态IP:static;设置为动态IP:dhcp

BROADCAST=10.4.255.255 //广播地址

HWADDR=08:00:27:5C:56:2A //MAC地址,不需要修改

IPADDR=10.4.8.191 //ip地址,改为你要设置的ip地址

NETMASK=255.255.0.0 //子网掩码,改为你要设置的掩码

NETWORK=10.4.0.0 //网络地址

DNS1=8.8.8.8 //DNS地址,ping命令出现unkonwn host时,一般是未配置DNS所致//查看/etc/resolv.conf文件可看到配置是否起作用,注意该文件随ifcfg-ethN配置而动态变化的,所以最好在ifcfg-ethN配置文件中该添加DNS配置信息

ONBOOT=yes //ONBOOT指明系统启动时是否激活网卡,只有在激活状态才能连接网络,不激活:no;激活:yes

USERCTL=yes //该选项指定是否允许非root用户控制该设备,允许:yes;不允许:no

TYPE=Ethernet //网络类型,表明是以太网:Ethernet

GATEWAY=10.4.0.1 //默认网关地址

 

编辑后的ifcfg-eth0配置如下

DEVICE=eth0:0

BOOTPROTO=none

BROADCAST=10.4.255.255

HWADDR=08:00:27:5C:56:2A

IPADDR=10.4.125.192

NETMASK=255.255.255.0

NETWORK=10.4.0.0

ONBOOT=yes

USERCTL=yes

TYPE=Ethernet

GATEWAY=10.4.0.1

同一块网卡虚拟的两个IP地址,可以不用添加新的路由,系统会自动的装载路由表。

 

步骤3.ifconfig命令为网卡绑定ip

为0号网卡的虚拟网络接口eth0:2配置ip 10.4.125.192

# ifconfig eth0:0 10.4.125.192 netmask 255.255.255.0

注意:如果单独做第3步,不做第2步,重启机器后,配置就失效了

 

2.   Linux为多个网卡设置单一ip的配置方法

步骤1.编辑网卡接口配置文件

1.网卡接口ifcfg-eth0配置文件

DEVICE=eth0

BOOTPROTO=none

BROADCAST=10.4.255.255

HWADDR=08:00:27:5C:56:2A

IPADDR=10.4.8.191

NETMASK=255.255.0.0

NETWORK=10.4.0.0

ONBOOT=yes

USERCTL=yes

PEERDNS=no

TYPE=Ethernet

GATEWAY=10.4.0.1

2.网卡接口ifcfg-eth1配置文件

DEVICE=eth1

BOOTPROTO=none

BROADCAST=10.4.255.255

HWADDR=08:00:27:5C:56:2A

IPADDR=10.4.125.192

NETMASK=255.255.255.0

NETWORK=10.4.0.0

ONBOOT=yes

USERCTL=yes

PEERDNS=no

TYPE=Ethernet

GATEWAY=10.4.0.1

步骤2.添加静态路由[临时性]

方法一:

# route add -net 10.4.0.0 netmask 255.255.0.0 gw 10.4.0.1 up

# route add -net 10.4.0.0 netmask 255.255.255.0 gw 10.4.0.1 up

 

查看路由表

# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.4.0.0        10.4.0.1        255.255.0.0     U         0 0          0 eth0

10.4.0.0        10.4.0.1        255.255.255.0   U         0 0          0 eth1

方法二:

# route add -net 10.4.0.0 netmask 255.255.0.0 up

# route add -net 10.4.0.0 netmask 255.255.255.0 up

 

再为系统增加一条缺省路由,因为缺省的路由是把所有的数据包都发往它的上一级网关(假设地址是10.4.0.1,这个地址依赖于使用的网络而定,

# route add default gw 10.4.0.1

 

但重新启动后,上述配置就失效了,因此可在/etc/sysconfig/network-scripts/目录下建立文件。因为我们是做内网的路由,并且内网网卡接口为eth0,因此我们建立route-eth0文件如下:

# cd network-scripts

# vi route-eth0

10.4.0.0/16 via 10.4.0.1 dev eth0

10.4.0.0/24 via 10.4.0.1 dev eth1

 

# /etc/rc.d/init.d/network restart启动生效

 

步骤3.启动IP转发功能使得linux能够转发数据包。

3.1将/proc/sys/net/ipv4/ip_forward 文件内容置1[临时生效]

echo “1” > /proc/sys/net/ipv4/ip_forward

IP Forward 将立即生效,但重启动失效。

 

3.2

# vi /etc/sysctl.conf[永久生效]

net.ipv4.ip_forward=1

 

注:默认情况下

同一网卡,不可以设置同一网段的多个ip,会冲突

不同网卡,不可以设置同一网段的不同ip,会冲突-->自动修改原来的路由表可能导致网络不同

关于这个结论可能并不是100%正确,具体以实际环境为准(出现问题时,关键看路由表)

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

测试实验

为不同网卡,设置同一网段的不同ip

例子:测试机ip 10.5.8.183,网关10.5.0.1,通过网卡接口eth2同外面的10.4.0.0网段进行网络通信,修改eth1接口ip之前,路由表如下,网络可通

# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.5.0.0        *               255.255.0.0     U     0      0        0 eth2

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

default         10.5.0.1        0.0.0.0         UG    0      0        0 eth2

 

接着,系统界面上修改eth1接口ip为10.5.8.187,网关10.5.0.1,生效,发现10.4.0.0网段无法访问ip 10.5.8.183了

# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.5.0.0        *               255.255.0.0     U     0      0        0 eth1

10.5.0.0        *               255.255.0.0     U     0      0        0 eth2

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

default         10.5.0.1        0.0.0.0         UG    0      0        0 eth1

注:此时,ping网关10.5.0.1, ping不通,从route命令的输出来看,我们可以发现路由表已经被修改了,要通往默认网关,必须经过eth1,但是eth1并没有接网线,所以不通。把eth1的网线接到交换机,再ping网关可ping通

 

断开eth1的网线,手动修改路由表,修改后如下

# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.5.0.0        *               255.255.0.0     U     0      0        0 eth2

10.5.0.0        *               255.255.0.0     U     0      0        0 eth1

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

default         10.5.0.1        0.0.0.0         UG    0      0        0 eth2

 

发现也可以ping通网关了,,

 

说明:linux是这么匹配的,按路由表条目顺序,从上到下进行匹配,添加的默认网关总是放到表中最后,也就是最下面。同时也可以看出,要能相互通信,路由表至少有一条本地路由和一条默认路由

Linux 操作系统下为网卡配置ip的更多相关文章

  1. Linux操作系统下三种配置环境变量的方法

    现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作 ...

  2. Linux操作系统下三种配置环境变量的方法——转载

    来源:赛迪网 作者:millio       现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/e ...

  3. linux下一个网卡配置多个ip【虚拟ip】

    Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...

  4. linux下一个网卡配置多个IP

    转自:http://blog.csdn.net/beckdon/article/details/15815197 最常用的给网卡配置ip的命令为 #ifconfig eth0 192.168.0.1 ...

  5. Linux下设置网卡静态ip

    Linux下设置网卡静态ip 如果是服务器版,没有图形界面只用用命令行修改配置文件 如果是客户端版本,可以用图形界面 配置的前提是要在root用户下才能重启网卡服务 图形界面: system-conf ...

  6. 虚拟IP---Linux下一个网卡配置多个IP

    转:http://blog.csdn.net/turkeyzhou/article/details/16971225 Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配 ...

  7. 烂泥:VMWare Workation双网卡配置IP地址

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...

  8. 虚拟机Linux与本地虚拟网卡配置---NAT链接方式

    虚拟机Linux与本地虚拟网卡配置---NAT链接方式 **********这是我亲自尝试多次实践出来的结果,不是复制粘贴************************* 首先进行初始化,这样避免有 ...

  9. Linux 服务器下多网卡的负载均衡

    Linux 服务器下多网卡负载均衡的实现   一.引言    现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...

随机推荐

  1. 第二十三节:Java语言基础-详细讲解函数与数组

    函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...

  2. 夜谈Java类的定义

    女孩:谈Java了,好耶? 男孩:夜谈一下,Java的类的定义~ 女孩:那谈Java的类的什么呢? 男孩:类的定义,对象的定义,类中的方法,构造方法,this关键字,方法的重载,Java中的类的访问权 ...

  3. 用synchronized同时修饰父类和子类,线程是安全的。即对象锁可重入

    public class SyncDubbo { static class Main { public int i = 10; public synchronized void operationSu ...

  4. 批量去除文件的BOM头

    <?php class KillBom{ //定义扩展名 public static $m_ext = ['txt','php','js','css']; /** * 传入一个任意文件,自动区分 ...

  5. JavaScript “跑马灯”抽奖活动代码解析与优化(一)

    最近的项目中做了一个"跑马灯"的抽奖特效插件.上篇文章已经分享过html和css 的相关知识.这篇文章主要分享一些 JavaScript 相关的知识.这几天在写这篇文章的时候,也顺 ...

  6. WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)

    闲暇之余,开发一个图片编辑小程序.程序主要特点就是可方便的对多个图像编辑,实现了一些基本的操作.本文主要介绍一下程序的功能.设计思路. 执行程序 下载地址: 百度网盘.https://pan.baid ...

  7. Django集成Markdown编辑器【附源码】

    专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...

  8. HttpClient Timeout waiting for connection from pool 问题解决方案

    错误:org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool 前言 ...

  9. BizTalk Orchestration execute Flat file disassembler ReceivePipeline

    需求是这样,在一个inbound XML中有个一点节点使用平文件的方式存放,还要解析比如固定长度或根据特殊字符截取字段 也就是需要在流程里面先把输入的XML的节点先读出来,这个方式有很多可以直接升级属 ...

  10. FFmpeg数据结构AVFrame

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10404502.html 本文基于FFmpeg 4.1版本. 1. 数据结构定义 stru ...