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

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

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


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,设置为静态IPstatic;设置为动态IPdhcp

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[临时生效]

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

目录
相关文章
|
10月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
8月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
958 11
|
10月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
1056 0
|
10月前
|
Unix 物联网 Linux
都什么年代了,你还不懂啥是Linux操作系统
至于华为鸿蒙操作系统是不是独树一帜,这个留给各位阅读本文的网友们来讨论
543 0
|
10月前
|
安全 Linux iOS开发
linux属于什么操作系统
Linux是一种自由和开放源代码的操作系统,具有高度的灵活性和可定制性。与常见的操作系统如Windows和macOS相比,Linux具有自由、安全和稳定等优势。Linux已广泛应用于服务器、桌面电脑、超级计算机和嵌入式设备等领域,并且在未来的发展前景广阔。由于其自由和开放源代码的特性,Linux还促进了计算机技术和社区的发展,为全球的计算机用户提供了更多的选择和可能性。
|
10月前
|
安全 Ubuntu Unix
关于Linux操作系统,你必须要知道的事
我们可以看到无论是Debian还是Buildroot都有各自的特点,为客户提供了更大的选择空间和灵活性,大家可以根据自己的需求选择合适的版本来满足终端用户的体验和功能需求。从平技术将会一直关注更多更安全、灵敏、易于开发的Linux版本,做好适配工作,不断为客户带来“简单开发、方便应用”的使用体验。
|
10月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
|
网络协议 Linux
Linux网络管理之ip命令 – 显示与操作路由
ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
455 0
Linux网络管理之ip命令 – 显示与操作路由
|
缓存 网络协议 Linux
Linux基础命令---IP路由操作
ip      ip指令可以显示或操作路由、网路设备,设置路由策略和通道。     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法     ip [选项]  OBJECT  COMMAND [help]     OBJECT对象可以是:link,网络设备;addr,设备的协议地址;route,路由表;rule,策略;neigh,arp缓存;tunnel,ip通道;maddr,多播地址;mroute,多播路由     COMMAND是操作命令,不同的对象有不同的命令配置。
2188 0

热门文章

最新文章