首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 操作系统下为网卡配置ip

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

作者头像
授客
发布2019-09-12 19:03:29
8.2K0
发布2019-09-12 19:03:29
举报
文章被收录于专栏:授客的专栏授客的专栏

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

by:授客

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-11-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档