网络配置命令,绑定,接口命名以及配置文件的详解

一:三大命令家族

当我们在centos中管理网络时需要为网卡设置网络属性,有自动获取和手动配置两种,自动获取需要在主机所在的网络中至少有一台DHCP服务器,而手动配置即静态指定则可以使用命令或者修改配置文件,首先着重说一下使用命令,命令包括net-tools家族(ifcfg家族)、iproute家族、nm家族:Network Manager,这三个工具都是setup的子命令,在centos6中可以使用上述命令。

具体命令的总结为:

net-tools家族(ifcfg家族)

ifconfig接口配置命令

查看网络接口的配置信息;

配置网络属性

管理接口状态

route

查看路由信息

配置路由信息(网关,静态路由,静态默认路由)

netstat

状态及统计数据的查看

iproute家族:

ip OBJECT

其中OBJERT可以是:

addr:IP地址和掩码的管理

link:物理接口的管理

route:路由管理

ss:

状态和统计数据的查看

注意:以上命令可以在任何的linux发行版中都适用

nm家族: Network Manager

nmcli:命令行工具

nmtui:text-window的工具

nm家族只在centos7中能够使用

首先详细的介绍一下net-tools家族(ifcfg家族)的三个命令:

1.ifconfig命令

ifconfig - configure a network interface配置一个网络接口

1)ifconfig [interface]:用于查看网络接口的配置信息

如果执行ifconfig命令不带任何接口做参数,则显示所有处于激活状态的网络接口信息

如果执行ifconfig命名,带有特定的接口名称作为参数,则无论接口是否处于激活状态,都显示该网络接口的信息

ifconfig interface address :用于配置网络接口的指定参数

ifconfig interface IP[/PREFIX_LEN] [up|down]

ifconfig interface IP netmask SUBNET_MASK [up|down]

示例:

# ifconfig eth1 172.16.100.105

# ifconfig eth1 172.16.100.105/24

# ifconfig eth1 172.16.100.105 netmask 255.255.255.192

# ifconfig eth1 up|down

常用选项:

-a:显示所有的网络接口,无论其是否处于激活状态

示例:ifconfig -a

2.route命令:查看和管理路由信息:

路由表中的路由条目,可能包括下面几种类型

1.主机路由:目标地址是特定的单个IP地址

2.网络路由:子网路由,主网路由,超网路由(聚合路由CIDR)

3.默认路由:目标地址为0.0.0.0/0的路由条目,到达任意地址的路由

常用选项:

-n:以数字化显示主机名(IP地址)和端口

设置路由信息:

route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

设置默认网关的方法:default 等于 -net 0.0.0.0/0 netmask 0.0.0.0

route add default gw 192.168.100.1

删除默认网关的方法:

route del default

route del default gw 172.16.0.1

添加静态路由的方法:

route add -net 10.0.0.0/8 gw 192.168.220.100 [dev eth2]

删除静态路由的方法:

route del -net 10.0.0.0/8

route del -net 10.0.0.0/8 gw 192.168.220.100

3.netstat命令:

Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

Print network connections

[--tcp|-t]:只显示与TCP协议相关的网络连接

[--udp|-u]:只显示与UDP协议相关的网络连接

[--udplite|-U]:只显示udplite协议相关的网络连接

[--sctp|-S]:

[--raw|-w]:显示与裸套接字相关的网络连接

[--listening|-l]:显示处于LISTEN状态的TCP连接

[--all|-a]:查看所有状态的任意连接

[--numeric|-n]:数字化显示结果中的主机名、端口号、用户ID等信息;

[--numeric-hosts]

[--numeric-ports]

[--numeric-users]

[--extend|-e[--extend|-e]]:以扩展格式显示结果

[--program|-p]:显示与该网络连接相关的应用程序及进程ID

常用的选项组合:

-tan, -uan, -tnl, -unl, -tnlp, -unlp, -tunlp

Print routing tables

{--route|-r}:显示路由表信息

[--numeric|-n]:数字化信息

[--extend|-e]:显示扩展信息

常用的选项组合:

-rn, -rne

Print interface statistics:

{--interfaces|-I|-i}

[--all|-a]

[--extend|-e]

[--verbose|-v]

[--program|-p]

[--numeric|-n]

Print Protocol statistics:

{--statistics|-s}:显示详细的各个协议的统计信息;

[--tcp|-t]

[--udp|-u]

[--udplite|-U]

[--sctp|-S]

[--raw|-w]

然后是iproute家族:

ip:show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route | netns }

ip link COMMAND

COMMAND: add, delete, set, show, help

ip link set - 修改网络设备的配置参数

ip link set [dev] IFACE_NAME { up | down }:激活或禁用网络接口;

ip link set [dev] IFACE_NAME [ arp { on | off } ]:是否允许此网络接口使用ARP协议;

ip link set [dev] IFACE_NAME name IFACE_NEW_NAME:更改网络接口名称,需要将设备先down掉;

ip link set [dev] IFACE_NAME [ mtu MTU ]:修改网络接口的MTU数值;

ip link set [dev] IFACE_NAME [ netns PID ]:

ip link set [dev] IFACE_NAME [ netns NAME ]:将指定的网络接口加入到指定的网络名称空间中;

ip link { show | list }:列表显示所有的链路接口;只显示链路层信息;

ip link help:获得简短的帮助信息

ip netns COMMAND - 设置内核中的网络名称空间;

ip netns list:列表显示所有的自定义的名称空间;

ip netns add NS_NAME:创建名称空间;

ip netns exec NS_NAME cmd:在指定的名称空间中使用命令;

ip netns delete NS_NAME:删除指定的名称空间;

ip addr COMMAND - 查看和设置三层逻辑网络地址;

ip addr add IFADDR dev IFACE_NAME:为指定的网络接口添加IP地址;

ip addr del IFADDR dev IFACE_NAME:将IP地址从指定的网络接口上删除;

ip addr flush dev IFACE_NAME:将指定接口上配置的所有IP地址全部清除;

ip addr { show | list } [dev IFACE_NAME]:显示网络接口上配置的IP地址;

为网络接口增加多个IP地址,并能够使用ifconfig查看;

ip addr add IFADDR dev IFACE_NAME label IFACE_NAME_LABEL

ifconfig IFACE_NAME_LABEL IFADDR

IFACE_NAME_LABEL : IFACE_NAME:#

ip route COMMAND - 查看和设置路由表信息

ip route { add | del } TARGET/PREFIX via NEXT_HOP [dev IFACE_NAME]

ip route list

二:网络接口的命名

Linux中每个网络接口都有一个名称,可以使用ifconfig命令来查询当前系统中的接口。那么这些接口命名时是否有要求或者限制呢,比如格式或者长度限制。从表面上看似乎没有限制可以随意命名,在一般应用场景中也可以正常工作,当在特殊应用场合中就会因为接口名称的原因出现莫名其妙的问题。所以需要有命名规范:

思科的交换机:fastethernet0/1,gigabitethernet0/1

思科路由器:Ethernet0/0,fastethernet0/0

linux的接口命名的方式:

a.传统的命名方式:

以太网:ethx,x从0开始的整数,如:eth0,eth1.......

PPP网络:PPPoE,PPP over Ethernet

pppX,X从0开始的整数:如:ppp0,ppp1,....

环回接口:lo,loopback

在centos6及之前的发行版本中使用

b.可预测的命名方案(centos7开始)

可以支持很多种命名机制:

1)根据Firmware进行命名

每一台计算机的网卡在其计算机的硬件固件中都有唯一的标识符,比如MAC地址,厂商标识,电气编号等

2)根据物理拓扑结构:

每一台计算机的主板上都有定数量的插槽或接口,如主板上第二个插槽连接的网卡的第一个物理接口等

根据不同的命名机制,我们可以有如下的命名标准:

1)如果Firmware或BIOS是主板上集成的设备提供的索引信息并且该信息可用,则根据此索引信息进行设备命名,如,enoX,eno1,eno16777736,.....

2)如果Firmware或者BIOS是主板上扩展插槽所提供的索引信息并且该信息可用,则根据此索引信息进行设备命名,如:ensX,ens0,ens2....

3)如果硬件接口的物理拓扑的位置信息存在并可用,可以根据此信息进行设备命名,如:enp1s0

4)如果用户显示的定义,可以根据诸如MAC地址进行命名,如:enx000c290045b3

5) 如果上述预测皆不可用,则沿用传统命名方式对网路设备进行命名

命名的格式组成:

en:Ethernet

wl:wlan

ww:wwan

名称的类型:

0<index>:集成设备的索引号

s<slot_num>:扩展插槽的索引号

x<MAC>:基于MAC地址进行命名

p<bus>s<slot>:基于总线+扩展插槽的索引联合索引编号

三:网络的配置文件

当我们需要配置网络的时候另一种方式就是修改配置文件,在CentOS6中跟IP、MASK、GATEWAY、DNS Server相关的配置文件保存在/etc/sysconfig/network-scripts/ifcfg-IFACE_NAME,中其内容详细解释如下:

DEVICE:此网络接口的名称

TYPE:此网络接口的类型,比较常见的是Ethernet,Bridge,Token Ring,...

HWADDR:此设备的物理地址,在以太网中是MAC地址;

ONBOOT:在系统引导的过程中,是否激活此设备;

NETBOOT:是否可以使用此设备进行网络引导;

BOOTPROTO:激活此接口时使用何种协议来配置此接口的属性;

动态配置:dhcp,bootp

静态配置:static,none

IPV6INIT:是否在此接口上初始化IPV6协议;

USERCTL:是否允许普通用户能够管理此接口;推荐取值为no;

IPADDR:指定此接口的固定IP地址,前提是BOOTPROTO应该是static或none;

NETMASK:设置IP地址对应的子网掩码;如:255.255.255.0

PREFIX:设置IP地址的网络前缀的位数;如:24

GATEWAY:设置默认网关

DNS1:首选DNS服务器的地址指向;

DNS2:备用DNS服务器的地址指向;

DNS3:第三DNS服务器的地址指向;

PEERDNS:是否允许从DHCP服务器获得的DNS服务器的地址指向替代此配置文件中的DNS服务器的地址指向;默认值为允许;

NM_CONTROLLED:是否允许NetworkManager服务管理网络接口;此服务在CentOS6中非常不完善,所以建议不使用此服务进行网络接口的管理;而且最好将此服务永久关闭,执行下列两条命令即可;

# service NetworkManager stop

# chkconfig NetworkManager off

主机名称的配置文件:/etc/sysconfig/network

HOSTNAME:当前Linux系统使用的主机名称

# hostname 查看当前系统的FQDN

# hostname NEW_HOSTNAME

注销后重新登录,即可生效

CentOS7和CentOS基本相同,多出了下列几项:

UUID:全局唯一标识符,用来唯一标识此网络接口;

NAME:此网络接口的显示名称;

DEFROUTE:是否允许此网络接口运行默认路由;

四:Bonding —— 绑定

Bonding —— 绑定就是将多块网卡(多个网络接口设备)绑定同一IP地址,对外提供网络服务;这些网卡之间可以实现负载均衡或高可用技术;通过bonding,虚拟一个网卡对外提供服务及网络连接,所有的物理网卡都被修改为相同的MAC地址;

Bonding的三种工作模式:

Mode 0——负载均衡解决方案,其负载均衡的算法为balance-rr(round robin, 轮询);轮询策略意味着:从头到尾顺序的在每个slave接口上面发送数据包;该模式可以提供负载均衡以及容错的能力;

Mode 1——主备解决方案,(active-backup, master-backup),在此模式中,只有一个slave被激活,用于正常数据传输;而其他的接口都监视此接口的工作状态;当且仅当活动的slave接口失败的时候,才会从其他备份的接口中选择一个用于激活;该模式只能实现容错,无法进行负载均衡;

Mode 3——全广播解决方案,在所有的slave接口上传输全部报文;

miimon用来进行链路监测。如果miimon=100,则系统每100ms监测一次链路连接的状态;如果某个网络接口在miimon监测的结果为不连通,则进行故障倒换;

使用Bonding的时候,我们需要配置:

1.创建虚拟接口

2.选择miimon的监测时间及Bonding的工作模式;

3.选择用于此次Bonding的物理接口;

在/etc/sysconfig/network-scripts/ifcfg-bond0文件中指定Bonding的特性即可:

DEVICE=bond0

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

BONDING_OPTS="miimon=100 mode=0"

IPADDR=172.16.100.135

PREFIX=16

修改物理网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

修改物理网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2

BOOTROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

时间: 2024-10-24 22:00:04

网络配置命令,绑定,接口命名以及配置文件的详解的相关文章

2018-4-17Linux系统管理(18)(19)网络配置命令及网络配置文件

在前面的章节当中我们讲述了计算网络通信的基础知识,介绍网络的拓扑结构类型及对于Linux来说的网络属性如何进行相关配置,而后有介绍了TCP/IP的协议栈,而这个协议栈是计算机真正使用的协议栈,以分层的概念将复杂问题进行切割,每层都有其相关的协议,都能够独立且相互调用可以协作完成.该协议栈共有四层,分别为物理层.互联网层.传输层及应用层进行组合.而对于底层来讲,作为运维的话我们无需掌握很多,不过我们也必须稍微进行一个了解,比如在互联网层中最为最重要的协议是IP协议,而在传输层中最为重要的协议为TC

最全网络配置命令

首先,先了解传统的网络配置命令: 1. 使用ifconfig命令配置并查看网络接口情况 示例1: 配置eth0的IP,同时激活设备: # ifconfig eth0 192.168.4.1 netmask 255.255.255.0 up 示例2: 配置eth0别名设备 eth0:1 的IP,并添加路由 # ifconfig eth0:1 192.168.4.2 # route add –host 192.168.4.2 dev eth0:1 示例3:激活(禁用)设备 # ifconfig et

ubuntu 设置网卡为混杂模式 以及网络配置命令

1. ifconfig eth0 promisc 设置eth0为混杂模式. ifconfig eth0 -promisc 取消它的混杂模式 [email protected]:~$ ifconfigeth0 Link encap:Ethernet HWaddr 00:0c:29:ae:a9:7f inet addr:192.168.4.197 Bcast:192.168.4.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:feae:a97f/6

linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-12-17 0 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置的方法: 即时生效(重启后失效): ifconfig eth0 192.168.1.102 netmask 255.255.255.0 //添加IP地址 route add default gw 192.168.1.1 //添加网关 启动生效: vim /etc/sysconfig/ne

CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)

一.IP 即时生效(重启后失效): ifconfig eth0 192.168.1.102 netmask 255.255.255.0 //添加IP地址 route add default gw 192.168.1.1 //添加网关 启动生效: vim /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=192.168.1.102 //添加IP地址 NETMASK=255.255.255.0 //掩码 GATEWAY=192.168.1.1 //添加

windows的网络配置命令行

NetSH 网络配置命令行工具 netsh (Network Shell) 是一个 windows 系统本身提供的功能强大的网络配置命令行工具. 导出配置脚本:netsh -c interface ip dump > c:\interface.txt 导入配置脚本:netsh -f c:\interface.txt. netsh interface ip show address - 显示 IP 地址 netsh interface ip show config - 显示更多详情 netsh i

Linux网络配置命令

Linux 系统中最常用的网络配置命令包括ifconfig. route ,其中ifconfig 用来查看和配置网络接口(通常是网卡)信息,包括网络接口设备的IP 地址.掩码等:route 用来管理Linux 系统内核中的路由表,它最大的用途就是用来设定静态的路由表项,通常是在系统用ifconfig 配置网络接口后,用它来设定主机或者一网段的IP 地址应该通过什么接口发送等. ifconfig ifconfig 的语法为: ifconfig [-a] [-V] [-s] [[] ] [[-]br

网络配置网卡子接口

网络配置网卡子接口 OS:Red Hat Enterprise Linux 6.4目前eth0 通过host-only网卡与win7通信规划给eth0配置子网卡ip eth0:0   地址192.168.7.101使用win7能够通过此ip正常访问linux操作系统 [[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 1 复制eth0网卡配置文件 生成eth0:0[[email protected] ~]# i

linux网络配置命令(一)——ifconfig

linux网络配置命令(一)--ifconfig ifconfig 查看.配置网卡信息.已过时,推荐使用ip命令 格式:  ifconfig [interface]                                                         查看指定网卡信息,可不指定 ifconfig interface [aftype] options | address ...   设置指定网卡信息 选项 interface        网卡名 up