在表明Linux互连网管理相关的始末时,笔者以为有不能缺少先表达多少包转载功用以及由此关系到的路由决策,那对厘清路由和前程的防火墙有根本扶持。然后再介绍网络铺排命令和相关文件。

第二叁章 Linux的网络管理,第一三章linux


正文目录:

壹叁.一 Linux数据包转发功效

一3.2 和网络有关的多少个文本申明

一三.2.1 网卡配置文件ifcfg-*

13.二.贰 DNS配置文件/etc/resolve.conf

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

13.2.4 /etc/services

壹三.三 互联网接口配置和主机名

13.3.1 ifconfig

13.3.2 ifcfg

13.3.3 hostname命令

13.4 网关/路由

13.4.1 route命令

13.四.二 配置永久路由

13.5 arp和arping命令

13.5.1 arp命令

13.5.2 arping命令

13.6 ip命令

13.陆.1 获取ip命令的帮扶

13.6.2 ip addr

13.6.3 ip route

13.6.4 ip link


 

在解释Linux互连网管理相关的内容时,笔者认为有至关重要先说明多少包转载功效以及由此关系到的路由决策。然后再介绍互连网布局命令和血脉相通文书。


Linux互连网配置命令

13.一 Linux处理多少包进程

当向外侧主机发送数据时,在它从网卡流入后要求对它做路由决定,依据其指标控制是流入本机数据或许转载给别的主机,倘使是流入本机的数量,则数据会从水源空间进入用户空间(被应用程序接收、处理)。当用户空间响应(应用程序生成新的数据包)时,响应数据包是本机产生的新数据,在响应包流出从前,须要做路由决定,依照指标控制从哪些网卡流出。假如不是流入本机的,而是要转载给其余主机的,则必然关联到另2个流出网卡,此时多少包必须从流入网卡完整地转载给流出网卡,那要求Linux主机能够形成如此的转会。但Linux主机暗许未张开ip_forward成效,那使得数据包不恐怕转正而被撇下。Linux主机和路由器区别,路由器自个儿便是为着转载数据包,所以路由器内部暗中认可就能在不相同网卡间转载数据包,而Linux主机暗中认可则不能够转化。如下图:

澳门金沙国际 1

除此以外,IP地址是属于基本的(不仅如此,整个tcp/ip协议栈都属于基本,包罗端口号),只要能和里面八个地址通讯,就能和另3个地点通讯(这么说是不精确的,即便地址属于基本,但还存在二个检查数据包是不是放弃的标题,可是这不是本文内容),而随正是或不是打开了数码包转载效用。譬如某Linux主机有两网卡eth0:17二.1陆.拾.5和eth1:1玖贰.168.100.20,某19贰.16八.拾0.2二主机网关指向192.16八.100.20,若它ping
17二.1陆.拾.五,结果将是通的,因为位置属于基本,从eth一跻身的数量包被内核分析时,发现指标地方为本机地址,直接就答复1玖二.16捌.100.2二,回应数据包继续从eth一出去。

只要Linux主机有多块网卡,即使不开启数据包转载成效,则那个网卡之间是无力回天互通的。例如eth0是17二.1六.10.0/2肆网段,而eth一是1玖二.16八.100.0/贰四网段,到达该Linux主机的数据包不能从eth0交给eth1要么从eth壹交给eth0,除非Linux主机开启了数码包转载功能。

在Linux上打开转载作用有多样方法:

shell> echo 1 > /proc/sys/net/ipv4/ip_forward
shell> sysctl -w net.ipv4.ip_forward=1

以上两种办法是目前生效的,若要永久生效,则应该写入配置文件。在CentOS
陆中,将/etc/sysctl.conf文件中的”net.ipv四.ip_forward”值改为一即可,但在CentOS
七中,systemd管理了太多的职能,sysctl的配备文件也不一致为八个,包蕴/etc/sysctl.conf、/etc/sysctl.d/*.conf和/usr/lib/sysctl.d/*.conf,并且那个文件中暗中同意都尚未net.ipv四.ip_forward项。当然,间接将此项写入到这么些配置文件中也都以足以的,建议写在/etc/sysctl.d/*.conf中,那是systemd提供自定义内核修改项的目录。例如:

shell> echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf

能够运用以下两种方法查看是不是打开了转发功效。

[root@xuexi ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

[root@xuexi ~]# cat /proc/sys/net/ipv4/ip_forward
0

[root@xuexi ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0

一3.一 Linux数据包转载成效

尽管Linux主机有多块网卡,比方不开启数据包转载作用,则这一个网卡之间是心有余而力不足互通的,除非它们是同网段地址。例如eth0是17二.1六.10.0/二四网段,而eth壹是1九2.168.拾0.0/2四网段,到达该Linux主机的数码包不可能从eth0交给eth一依旧从eth一交给eth0,除非Linux主机开启了数量包转发作用。那是和路由器设备不相同的地点,路由器本质即是跨网段转发数据包,所以路由器设备暗中认可都以敞开了转载作用的

在Linux上打开转载功用有八种措施:

shell> echo 1 > /proc/sys/net/ipv4/ip_forward
shell> sysctl -w net.ipv4.ip_forward=1

上述两种方法是方今生效的,若要永久生效,则应当写入配置文件。在CentOS
陆中,将/etc/sysctl.conf文件中的”net.ipv四.ip_forward”值改为一即可,但在CentOS
柒中,systemd管理了太多的功力,sysctl的布局文件也区别为多少个,包涵/etc/sysctl.conf、/etc/sysctl.d/*.conf和/usr/lib/sysctl.d/*.conf,并且这么些文件中暗中同意都并未有net.ipv四.ip_forward项。当然,间接将此项写入到那几个布署文件中也都以足以的,建议写在/etc/sysctl.d/*.conf中,那是systemd提供自定义内核修改项的目录。例如:

shell> echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf

能够行使以下三种办法查看是或不是打开了转载成效。

[[email protected] ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
0

[[email protected] ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0

除此以外,IP地址是属于基本的(不仅如此,整个tcp/ip协议栈都属于基本,包涵端口号),只要能和个中3个地址通讯,就能和另2个地点通讯,而无论是是不是开启了多少包转发功用。譬如说某Linux主机有两网卡eth0:172.1陆.十.5和eth1:1九二.168.拾0.20,某192.16捌.100.22主机网关指向1九二.16八.十0.20,若它ping
17贰.16.10.5,结果将是通的,因为地址属于基本,从eth一进去的数据包被内核分析时,发现目的地址为本机地址,直接就答应1玖二.16⑧.十0.2贰,回应数据包继续从eth一出去,除非路由鲜明设置了不走eth壹。

下图是Linux主机通讯机制。假使该主机有两块网卡eth0和eth壹,并且它们属于分歧网段。

依照上海教室,即使网段1的主机ping ip_addr1或ping
ip_addr二,数据包从eth0进入,内核分析该数据包,发现数据包的最后目的是本机上的ip地址,内核将拓展路由决定,壹般的话,这类数据包的路由条目都会内定从直连接口即eth0流出。即上海体育场合的深紫路线。

即使网段一主机能ping通ip_addr二,但数量包并未交到eth一。

若果网段一主机ping网段二主机,在ping的哀求数据包从eth0流入Linux主机时,内核将分析该数据包,发现数目包目的是网段贰地址,遵照路由表,那类数据包一般都会从直连接口eth1出去,所以eth0的数据包将要转给eth一,然而未张开转载效率,数据包到不了eth一,所以被舍弃。即使开启了多少包转载效能,下边包车型地铁黑色虚线和革命虚线将是联网的,数据包转载到达eth一接口,然后出去到网段二的主机上。

正文目录:

   
Linux下网卡命名规律:eth0,eth一。第一块以太网卡,第一块。lo为环回接口,它的IP地址固定为1二七.0.0.1,掩码8人。它代表你的机械本人。

壹三.② 和互联网有关的多少个文件申明

一3.二 和网络有关的几个公文注明

一三.一Linux处理多少包进程

1、ifconfig是翻开网卡的新闻

一叁.二.一 网卡配置文件ifcfg-*

在/etc/sysconfig/network-scripts/目录下有不少文件,绝大多数都以脚本类的公文,但有一类ifcfg开头的文本为网卡配置文件(interface
config),全部ifcfg开始的公文在开发银行网络服务的时候都会被加载读取,但实际的文书名ifcfg-XX的XX能够4意命名。

以下是2个(CentOS 7上)ifcfg-XX文件的剧情示例。

[root@xuexi ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"      # 显示的名称,必须/sys/class/net/目录下的某个网卡名相同
IPV6INIT="no" 
BOOTPROTO="dhcp"
ONBOOT=yes 
TYPE="Ethernet"
DEFROUTE="yes"
PEERDNS="yes"      # 设置为yes时,此文件设置的DNS将覆盖/etc/resolv.conf,
                   # 若开启了DHCP,则默认为yes,所以dhcp的dns也会覆盖/etc/resolv.conf
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
NAME="System eth0"
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=114.114.115.115

一三.二和网络有关的几个文本说明

ifconfig
[Interface]

壹3.二.2 DNS配置文件/etc/resolv.conf

该文件用于安装DNS指向,以及解析顺序。该文件格式如下:

domain  domain_name       # 声明本地域名,即解析时自动隐式补齐的域名
search  domain_name_list  # 指定域名搜索顺序(最多6个),和domain不能共存,若共存了,则后面的行生效
nameserver  IP1           # 设置DNS指向,最多3个
nameserver  IP2
nameserver  IP3        
options timeout:n attempts:n  # 指定解析超时时间(默认5秒)和解析次数(默认2次)

诸如将/etc/resolv.conf设置为下所示,为了测试,临时不安装nameserver。

domain malong.com

当解析不带点”.”的主机名时,如”www”,认为不是fqdn,将机关抬高”.malong.com”变成解析”www.malong.com”。

[root@xuexi ~]# host -a www
Trying "www.malong.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

当解析的名号末尾不带点但中间带了点的,如”www.host”,认为是fqdn,将直接解析”www.host”,解析完这么些后再分析加上”malong.com”的称谓,即再分析”www.host.malong.com”。

[root@xuexi ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malong.com"
;; connection timed out; no servers could be reached

当解析末尾带点的称号时,如”www.host.”认为是总体的fqdn,将一向解析”www.host”,解析完后平昔截至解析,不会再补齐本地点名再分析。

[root@xuexi ~]# host -a www.host.
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host"   # 默认解析两次
;; connection timed out; no servers could be reached

search关键字的职能和domain是1律的,只不过search同时还暗含域名搜索的11。例如设置search为如下内容:

search  malongshuai.com longshuai.com mashuai.com

此刻若解析”www.host”,将顺序解析”www.host”,”www.host.malongshuai.com”,”www.host.longshuai.com”,”www.host.mashuai.com”。

[root@xuexi ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.host.longshuai.com"
;; connection timed out; trying next origin
Trying "www.host.mashuai.com"
;; connection timed out; no servers could be reached

[root@xuexi ~]# host -a www
Trying "www.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.longshuai.com"
;; connection timed out; trying next origin
Trying "www.mashuai.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

domain部分和search部分无法存活,要是共存了,则后出现的行有效。

一三.二.一 网卡配置文件ifcfg-*

在/etc/sysconfig/network-scripts/目录下有不少文书,绝大多数都以脚本类的文件,但有1类ifcfg开头的文件为网卡配置文件(interface
config),全数ifcfg开始的文书在起步网络服务的时候都会被加载读取,但具体的文本名ifcfg-XX的XX能够Infiniti制命名。

以下是三个(CentOS 七上)ifcfg-XX文件的内容示例。

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"      # 显示的名称,必须/sys/class/net/目录下的某个网卡名相同
IPV6INIT="no" 
BOOTPROTO="dhcp"
ONBOOT=yes 
TYPE="Ethernet"
DEFROUTE="yes"
PEERDNS="yes"      # 设置为yes时,此文件设置的DNS将覆盖/etc/resolve.conf,
                   # 若开启了DHCP,则默认为yes,所以dhcp的dns也会覆盖/etc/resolve.conf
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
NAME="System eth0"
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=114.114.115.115

一叁.二.1网卡配置文件ifcfg-*

   
Interface是可选拔,倘若不加此项,则呈现系统中拥有网卡的新闻。假若添加此选项则显得所钦命的网卡音讯.

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

当插入新的互连网设施时,内核首先识别到,随后在sysfs文件系统(一般挂载在/sys下)中生成该装备对应的新闻文件。然后内核布告udev的后台守护进程udevd(若不知情它是何等东西,请认为它是Windows系统中的设备管理器,管理和监视硬件配备),udevd将读取sysfs中对应配备的连带音讯,并比对或生成udev的规则集,能相配上的则做相应的操作。对于网卡来说,CentOS
六上它的的条条框框集文件暗中同意为/etc/udev/rules.d/70-persistent-net.rules,相称该规则集成功后,最终还在/sys/class/net目录中生成对应的设备子目录。

以下为七个网卡的规则集的内容:

[root@xuexi ~]# cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:a4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

具体的udev规则集语法并非本文内容,所以那边仅简单解释下方面包车型地铁多个规则集。规则集文件的写法都以key/value格式,但分成相称key/vaule和行事key/value。上述例子中,从SUBSYSTEM直到KE帕杰罗NEL都是使用”==”号,表示卓殊key/value,最后三个NAME使用单”=”号,表示赋值key/value。所以上述文件的情趣是:当/sys中的某装备各音讯都能相称上述某条规则,则赋值该装备名字为eth0或eth一,/sys/class/net目录下也由此名称命名设备消息的目录,ifcfg-*布署文件中的DEVICE的值必须和它们等同

Linux网络配置命令,Linux的网络管理。注意,网络规则集文件会由基础检查测试到设备时自动生成或写入,由此清空它不会有其它影响

仿造虚拟机时,总是会出现MAC地址争辨,那是因为规则集文件和ifcfg配置文件都被克隆了,而新克隆出来的机器中MAC地址又是新的,所以会生成新的规则集,但克隆过来的ifcfg配置文件中的DEVICE值和该规则对应不上,导致克隆主机的网络将起动不了。解决办法是清空该文件,然后重启克隆主机,那样基本将新生成对应新MAC地址的规则集文件。当然,在仿制前清空模板主机的平整集文件,然后再克隆也是足以的。

值得1提的是,在CentOS
7中,systemd已经将udevd的效益整合在了协同,udev的平整集文件大致都放到了/usr/lib/udev/rules.d/目录下,但却更便利了,克隆CentOS
七主机时,根本就不晤面世MAC地址争论的恐怕。可是,显式书写在/etc/udev/rules.d/目录下的条条框框集文件依然是立见成效的。

一叁.二.② DNS配置文件/etc/resolve.conf

该文件用于安装DNS指向,以及解析顺序。该文件格式如下:

domain  domain_name         # 声明本地域名,即解析时自动隐式补齐的域名
search  domain_name_list    # 指定域名搜索顺序(最多6个),和domain不能共存,若共存了,则写在后面的行生效
nameserver  IP1             # 设置DNS指向,最多3个
nameserver  IP2
nameserver  IP3        
options timeout:n attempts:n  # 指定解析超时时间(默认5秒)和解析次数(默认2次)

譬如将/etc/resolve.conf设置为下所示,为了测试,近期不设置nameserver。

domain malong.com

当解析不带点”.”的主机名时,如”www”,认为不是fqdn,将自行抬高”.malong.com”变成解析”www.malong.com”。

[[email protected] ~]# host -a www
Trying "www.malong.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

当解析的名称末尾不带点但中间带了点的,如”www.host”,认为是fqdn,将直接解析”www.host”,解析完那个后再分析加上”malong.com”的称呼,即再分析”www.host.malong.com”。

[[email protected] ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malong.com"
;; connection timed out; no servers could be reached

当解析末尾带点的名号时,如”www.host.”认为是一体化的fqdn,将平素解析”www.host”,解析完后直接停止解析,不会再补齐本地点名再分析。

[[email protected] ~]# host -a www.host.
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host"   # 默认解析两次
;; connection timed out; no servers could be reached

search关键字的功用和domain是1样的,只不过search同时还暗含域名搜索的逐一。例如设置search为如下内容:

search  malongshuai.com longshuai.com mashuai.com

那时候若解析”www.host”,将逐1解析”www.host”,”www.host.malongshuai.com”,”www.host.longshuai.com”,”www.host.mashuai.com”。

[[email protected] ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.host.longshuai.com"
;; connection timed out; trying next origin
Trying "www.host.mashuai.com"
;; connection timed out; no servers could be reached

[[email protected] ~]# host -a www
Trying "www.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.longshuai.com"
;; connection timed out; trying next origin
Trying "www.mashuai.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

domain部分和search部分无法存活,假使共存了,则后现身的行有效。

壹3.二.二DNS配置文件/etc/resolv.conf

例如:ifconfig
eth0

13.2.4 /etc/services

该公文中著录的是端口和劳务的呼应关系。

[root@xuexi ~]# grep '^ftp\|^ssh' /etc/services 
ftp-data        20/tcp
ftp-data        20/udp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
ftp-data        20/sctp                 # FTP
ftp             21/sctp                 # FTP
ssh             22/sctp                 # SSH
ftp-agent       574/tcp                 # FTP Software Agent System
ftp-agent       574/udp                 # FTP Software Agent System
sshell          614/tcp                 # SSLshell
sshell          614/udp                 #       SSLshell
ftps-data       989/tcp                 # ftp protocol, data, over TLS/SSL
ftps-data       989/udp                 # ftp protocol, data, over TLS/SSL
ftps            990/tcp                 # ftp protocol, control, over TLS/SSL
ftps            990/udp                 # ftp protocol, control, over TLS/SSL
ssh-mgmt        17235/tcp               # SSH Tectia Manager
ssh-mgmt        17235/udp               # SSH Tectia Manager

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

当插入新的互联网设施时,内核首先识别到,随后在sysfs文件系统(一般挂载在/sys下)中生成该装备对应的音讯文件。然后内核布告udev的后台守护进度udevd(若不领悟它是怎么东西,请认为它是Windows系统中的设备管理器,管理和监视硬件装置),udevd将读取sysfs中对应配备的有关新闻,并比对或生成udev的规则集,能匹配上的则做相应的操作。对于网卡来说,它的的规则集文件暗中同意为/etc/udev/rules.d/70-persistent-net.rules,相称该规则集成功后,最终还在/sys/class/net目录中生成对应的设备子目录。

以下为三个网卡的规则集的情节:

[[email protected] ~]# cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:a4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

切实的udev规则集语法并非本文内容,所以那边仅简单表明下方面包车型地铁五个规则集。规则集文件的写法都是key/value格式,但分成相配key/vaule和作为key/value。上述例子中,从SUBSYSTEM直到KE途锐NEL都以运用”==”号,表示分外key/value,最终一个NAME使用单”=”号,表示赋值key/value。所以上述文件的意味是:当/sys中的某装备各音信都能同盟上述某条规则,则赋值该装备名叫eth0或eth1,/sys/class/net目录下也因而名称命名设备消息的目录,ifcfg-*计划文件中的DEVICE的值必须和它们同样

注意,互连网规则集文件会由基础检查实验到装备时自动生成或写入,因而清空它不会有别的影响

克隆虚拟机时,总是会产出MAC地址争持,那是因为规则集文件和ifcfg配置文件都被克隆了,而新克隆出来的机械中MAC地址又是新的,所以会变卦新的规则集,但克隆过来的ifcfg配置文件中的DEVICE值和该规则对应不上,导致克隆主机的网络将起动不了。消除办法是清空该公文,然后重启克隆主机,那样基本将新生成对应新MAC地址的规则集文件。当然,在仿制前清航空模型板主机的平整集文件,然后再克隆也是可以的。

值得壹提的是,在CentOS
柒中,systemd已经将udevd的功力整合在了1道,所以udev的平整集文件已经少见了,但却更便宜了,克隆CentOS
七主机时,根本就不会冒出MAC地址冲突的大概,因为全体规则集都由内核生成在内存中。但是,显式书写的平整集文件照旧是立见效用的。

13.2.3
/etc/udev/rules.d/70-persistent-net.rules

eth0 Link encap:Ethernet
            HWaddr 00:0C:29:F3:3B:F2
            inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
            RX packets:78 errors:0 dropped:0 overruns:0 frame:0
            TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:100
            RX bytes:11679 (11.4 Kb)
            TX bytes:14077 (13.7 Kb)
            Interrupt:10 Base address:0x1080
可以看到:

一三.叁 网络接口配置和主机名

13.2.4 /etc/services

该公文中著录的是端口和劳务的照应关系。

[[email protected] ~]# grep '^ftp\|^ssh' /etc/services 
ftp-data        20/tcp
ftp-data        20/udp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
ftp-data        20/sctp                 # FTP
ftp             21/sctp                 # FTP
ssh             22/sctp                 # SSH
ftp-agent       574/tcp                 # FTP Software Agent System
ftp-agent       574/udp                 # FTP Software Agent System
sshell          614/tcp                 # SSLshell
sshell          614/udp                 #       SSLshell
ftps-data       989/tcp                 # ftp protocol, data, over TLS/SSL
ftps-data       989/udp                 # ftp protocol, data, over TLS/SSL
ftps            990/tcp                 # ftp protocol, control, over TLS/SSL
ftps            990/udp                 # ftp protocol, control, over TLS/SSL
ssh-mgmt        17235/tcp               # SSH Tectia Manager
ssh-mgmt        17235/udp               # SSH Tectia Manager

13.2.4
/etc/services

首先行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

13.3.1 ifconfig

该命令纵然在man文书档案中被证实已放任,但群众分明不可能忘记它。ifconfig命令是多少个接口配置命令,但越来越多的被用来展现已激活的网络接口消息。

ifconfig [ interface | -a ]
ifconfig interface options

选项说明:
interface:指定被操作的网络接口名,如eth0
up       :激活指定的网络接口,如果在命令行中为网络接口分配了IP地址,则默认会up
down     :将指定的接口设置为down状态
[-]arp   :启用或禁用该接口上使用ARP协议,如"ifconfig eth0 -arp"
mtu N    :设置指定接口的最大传输单元(MTU)
netmask  :设置该接口的IP netmask,默认会采用A/B/C类地址的掩码位数
address  :要分配给该接口的IP地址

ifconfig示例:

[root@xuexi ~]# ifconfig eth0:1 192.168.100.20 netmask 255.255.255.0 up  # 添加IP地址
[root@xuexi ~]# ifconfig eth0:1 192.168.100.20/24 up                     # 也可使用CIDR格式掩码
[root@xuexi ~]# ifconfig eth1 up       # 激活该网络接口
[root@xuexi ~]# ifconfig eth1 down     # 临时down掉eth1接口
[root@xuexi ~]# ifconfig eth1 -arp     # 抑制eth1上的arp
[root@xuexi ~]# ifconfig eth1 arp      # 启用eth1上的arp

急需专注的是,ifconfig全部的配备都是采纳于内核的,所以只会如今生效,重启互连网服务后会立刻失效。

对此slave地址,即小名地址,若要永久生效,应该创立相应的外号接口配置文件,如/ets/sysconfig/network-scripts/ifcfg-eth0:0,然后在该公文中的DEVICE关键字上给定eth0:0名称,该DEVICE项必须陈设不错。

1三.三 互连网接口配置和主机名

壹3.3互联网接口配置和主机名

第二行:网卡的IP地址、子网、掩码

13.3.2 ifcfg

用法很简短。

ifcfg DEV [[add|del [ADDR[/LEN]] | stop]
       add - add new address
       del - delete address
       stop - completely disable IP

例如:

[root@xuexi ~]# ifcfg eth1:0 add 192.168.100.20/24   # 添加一个地址
[root@xuexi ~]# ifcfg eth1:0 del 192.168.100.20      # 删除一个地址
[root@xuexi ~]# ifcfg eth1 stop      # 临时禁用eth1

13.3.1 ifconfig

该命令尽管在man文档中被认证已吐弃,但民众显著不可能忘记它。ifconfig命令是三个接口配置命令,但越多的被用来显示已激活的网络接口信息。

ifconfig [ interface | -a ]
ifconfig interface options

选项说明:
interface:指定被操作的网络接口名,如eth0
up       :激活指定的网络接口,如果在命令行中为网络接口分配了IP地址,则默认会up
down     :将指定的接口设置为down状态
[-]arp   :启用或禁用该接口上使用ARP协议,如"ifconfig eth0 -arp"
mtu N    :设置指定接口的最大传输单元(MTU)
netmask  :设置该接口的IP netmask,默认会采用A/B/C类地址的掩码位数
address  :要分配给该接口的IP地址

ifconfig示例:

[[email protected] ~]# ifconfig eth0:1 192.168.100.20 netmask 255.255.255.0 up  # 添加IP地址
[[email protected] ~]# ifconfig eth0:1 192.168.100.20/24 up                     # 使用CIDR格式的掩码也可以
[[email protected] ~]# ifconfig eth1 up       # 激活该网络接口
[[email protected] ~]# ifconfig eth1 down     # 临时down掉eth1接口
[[email protected] ~]# ifconfig eth1 -arp     # 抑制eth1上的arp
[[email protected] ~]# ifconfig eth1 arp      # 启用eth1上的arp

急需留意的是,ifconfig全数的安排都以使用于内核的,所以只会一时生效,重启互联网服务后会立刻失效。

对于slave地址,即小名地址,若要永久生效,应该建立相应的别称接口配置文件,如/ets/sysconfig/network-scripts/ifcfg-eth0:0,然后在该公文中的DEVICE关键字上给定eth0:0名称,该DEVICE项必须配备不错。

13.3.1
ifconfig

其三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(扶助组播)MTU:1500(最大传输单元):1500字节

13.3.2 ifcfg

用法很粗大略。

ifcfg DEV [[add|del [ADDR[/LEN]] | stop]
       add - add new address
       del - delete address
       stop - completely disable IP

例如:

[[email protected] ~]# ifcfg eth1:0 add 192.168.100.20/24   # 添加一个地址
[[email protected] ~]# ifcfg eth1:0 del 192.168.100.20      # 删除一个地址
[[email protected] ~]# ifcfg eth1 stop      # 临时禁用eth1

13.3.2
ifcfg

第伍、五行:接收、发送数据包意况总计

13.3.3 hostname命令

用来安装主机名,但也有几个其他好用的功效。

hostname [-I] [-f] [-d] [-s] [hostname]

选项说明:
-I         :获取该主机上所有非环回IP地址,该选项不依赖于主机名解析
-f,--fqdn  :获取fqdn
-d,--domain:获取fqdn的域名部分,等价于命令dnsdomainname
-s,--short :获取fqdn的主机名部分,严格地说是获取第一个"."前的部分,例如"www.baidu.com"将获取为"www"

选用-I选项能够直接获得该主机上的有所IP地址,包罗别称地址,那在一些时候太方便了。

[root@xuexi ~]# hostname -I
192.168.100.54 172.16.10.10

hostname修改的主机名叫临时生效,它修改的实在是/proc/sys/kernel/hostname文件。

[root@xuexi ~]# cat /proc/sys/kernel/hostname
xuexi.longshuai.com

虽说在man文档中说有个永久有效的抉择(-b),但测试时却毫无效果。要想永远生效,供给修改配置文件/etc/hostname(CentOS
柒)或/etc/sysconfig/network(CentOS 陆)。例如在CentOS 七上:

[root@xuexi ~]# echo "ma.longshuai.com" >/etc/hostname

13.3.3
hostname命令

第8行:接收、发送数据字节数总括音信。

13.4 网关/路由

Linux上分为3种路由:

  • 主机路由:间接指明到某台具体的主机怎么走,主机路由也便是所谓的静态路由
  • 网络路由:指明某类互联网怎么走
  • 私下认可路由:不走主机路由的和网络路由的就走暗中同意路由。操作系统上安装的暗中认可路由1般也号称网关。

若Linux上到某主机有多条路由得以挑选,那时候会挑选优先级高的路由。在Linux中,路由条指标优先级鲜明情势是先相称掩码位长度,再比较管理距离(比如metric)。也正是说,掩码位长的路由条目优先级一定比掩码位短的先期级高,所以主机路由的优先级最高,然后是直连互连网(即同网段)的路由(也总算互连网路由)次之,再是网络路由,最终才是暗中同意路由。若路由条目标掩码长度相同,则相比较节点之间的管制距离,管理距离短的生效。

比如说上面包车型地铁路由表中,若ping
1九贰.16八.五.20,则先比对1玖二.16八.拾0.78意识不大概合作,然后比对192.16捌.拾0.0,发现也无能为力合营,接着再协作1玖二.168.0.0那条互联网路由条目,发现能相称,所以选取该路由条目。

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

再例如下边包车型大巴路由表。由于两块网卡eth0和eth一都以1玖二.16八.100.0/二4网段地址,所以它们的路由条目在掩码长度的协作上是如出一辙的,不过和eth0直连的网段主机通讯时,肯定会挑选eth0这条路由条目,因为eth一和该网段主机隔了1个eth0,距离扩大了一。

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

13.3.3 hostname命令

用来安装主机名,但也有多少个别的好用的效果。

hostname [-I] [-f] [-d] [-s] [hostname]

选项说明:
-I         :获取该主机上所有非环回IP地址,该选项不依赖于主机名解析
-f,--fqdn  :获取fqdn
-d,--domain:获取fqdn的域名部分,等价于命令dnsdomainname
-s,--short :获取fqdn的主机名部分,严格地说是获取第一个"."前的部分,例如"www.baidu.com"将获取为"www"

运用-I选项可以间接获得该主机上的有着IP地址,包涵别称地址,那在好几时候太方便了。

[[email protected] ~]# hostname -I
192.168.100.54 172.16.10.10

hostname修改的主机名称叫一时半刻生效,它修改的实际是/proc/sys/kernel/hostname文件。

[[email protected] ~]# cat /proc/sys/kernel/hostname
xuexi.longshuai.com

虽说在man文书档案中说有个永久有效的抉择(-b),但测试时却毫无效果。要想永远生效,要求修改配置文件/etc/hostname(CentOS
七)或/etc/sysconfig/network(CentOS 6)。例如在CentOS 七上:

[[email protected] ~]# echo "ma.longshuai.com" >/etc/hostname

13.4
网关/路由

(壹)
配置eth0的IP地址, 同时激活该装置。

13.4.1 route命令

route命令用于呈现和保管路由表。当使用了add或del选项时,route命令将设置路由条目,不然route命令将展现路由表。

要来得路由表消息,只需简单的route -n即可,个中-n选项表示不解析主机名。

例如:

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

对此CentOS
6以上的种类,请忽略Metric和Ref两列,它们已经不被基本使用,只是有个别路由软件只怕会用上。

对于Flags列,假诺未有安装路由软件,则只或者出现上边包车型大巴三种值:

U (route is up)

H (target is a host)

G (use gateway,也便是设置了下1跳的路由条目)

若要管理路由表,则使用add或del选项。

route [add/del] [-host/-net/default] [address[/mask]] [netmask] [gw] [dev]

选项说明:
add/del:增加或删除路由条目
-net:增加或删除的是一条网络路由
-host:增加或删除的是一条主机路由
default:增加或删除的是一条默认路由
netmask:明确使用netmask关键字指定掩码,要可以不使用该选项直接在地址上使用cidr格式的掩码,即IP/MASK。
gw:指定下一跳的地址。要求下一跳地址必须是能到达的,且一般是和本网段直连的接口。
dev:强制将路由条目关联到指定的接口上。一般内核会自动判断路由条目应该关联到哪个网络接口。

例如:

(一).添加和删除默许路由

shell> route add default gw 192.168.100.10
shell> route del default
shell> route del default gw 192.168.100.10   # 若有多条默认路由,则再加上gw即可唯一删除指定条目

因为暗许路由的目标地是0.0.0.0,所以操作暗中同意路由也得以采取0.0.0.0替代default关键字,但那样就劳动的多了。

(二).添加和删除互联网路由

shell> route add -net 172.16.10.0/24 gw 192.168.100.70
shell> route add -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70

若实在不知道下1跳给何人,那么钦赐本机接口也是能够的。

shell> route add -net 172.16.10.0/24 dev eth0

除去路由得以一贯在大增路由的说话旅长add改为del关键字。如

shell> route del -net 172.16.10.0/24 gw 192.168.100.70
shell> route del -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70
shell> route del -net 172.16.10.0/24 dev eth0

但多数时候,能够偷懒,只要能唯一明显删除的是哪条路由即可。如:

shell> route del -net 172.16.10.0/24

(三)添加和删除主机路由

shell> route add -host 172.16.10.55 gw 192.168.10.20
shell> route del -host 172.16.100.55

13.4 网关/路由

Linux上分为3种路由:

  • 长机路由:直接指明到某台具体的主机怎么走,主机路由也正是所谓的静态路由
  • 网络路由:指明某类网络怎么走
  • 暗中认可路由:不走主机路由的和网络路由的就走暗中认可路由。操作系统上安装的私下认可路由壹般也称之为网关。

若Linux上到某主机有多条路由得以挑选,这时候会选用优先级高的路由。在Linux中,路由条指标优先级鲜明方式是先相配掩码位长度,再相比管理距离。也正是说,掩码位长的路由条目优先级一定比掩码位短的预先级高,所以主机路由的优先级最高,然后是直连互联网(即同网段)的路由(也究竟互连网路由)次之,再是网络路由,最后才是暗许路由。若路由条指标掩码长度相同,则相比节点之间的管制距离,管理距离短的见效。

诸如下边包车型客车路由表中,若ping
19二.16⑧.5.20,则先比对192.16八.100.7捌发现不可能协作,然后比对1玖贰.16捌.100.0,发现也不知道该咋办协作,接着再同盟1九二.16八.0.0那条网络路由条目,发现能协作,所以选取该路由条目。

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

再比如说下面的路由表。由于两块网卡eth0和eth一都以1九二.168.十0.0/二四网段地址,所以它们的路由条目在掩码长度的相配上是如出1辙的,然则和eth0直连的网段主机通讯时,肯定会选拔eth0那条路由条目,因为eth壹和该网段主机隔了三个eth0,距离扩张了一。

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

13.4.1
route命令

#ifconfig eth0 192.168.1.10 netmask
255.255.255.0 up

1三.肆.贰 配置永久路由

基于接口创制路由安插文件/etc/syconfig/network-scripts/route-ethX,要从那么些接口出去X就是几。

路由配置文件的布署格式非凡简单,每一行多少个路由条目,先是要到达的对象,然后是via关键字,最终是下一跳地址。供给下壹跳必须能到达,且一般都和ethX同网段。

DEST    via     nexthop

例如eth0网卡的IP地址是1九贰.16八.十.12三,要通过网卡eth0出去到达拾.0.0.十,那么下壹跳的地点要和eth0的地点在同网段,如1玖贰.16捌.10.22贰。

10.0.0.0 via 192.168.10.222

添加主机路由、暗许路由、网段路由示例如下,其中dev是足以省略的,因为没有别的用处,配置在哪个eth文件中就会从哪个接口出去。

#默认路由
default     via 192.168.100.1
0.0.0.0/0   via 192.168.100.1

#网段路由
192.168.10.0/24   via 192.168.100.1

#主机路由
192.168.100.52/32 via 192.168.100.33 dev eth1

布局完后,重启network服务即可及时生效。

route-ethX文件的还有其它1种永久路由的布署写法,但上面的艺术更不难便捷,所以那边就不多说了。

配备永久路由时,必要注意几点:

(1).route-ethX的呼应网卡配置文件ifcfg-ethX必须存在,不然路由无效。(对于虚拟机,平时新拉长的网卡都未曾对号入座的ifcfg-ethX文件,但ifconfig却能找到该网卡)

(2).假诺在文件中布署永久私下认可路由,则必须确定保障全体应用了DHCP服务的网卡配置文件ifcfg-ethX中的DEFROUTE指令设置为”no”,表示DHCP不设置暗许路由。

(3).万1在route-ethX文件中配备永久路由,且该网卡使用了DHCP服务分配地址,则必须有限援救该网卡的ifcfg-ethX文件中的PEERAV四ROUTES指令设置为”no”,表示DHCP设置的路由允许被覆盖。

13.4.1 route命令

route命令用于展现和管制路由表。当使用了add或del选项时,route命令将设置路由条目,不然route命令将呈现路由表。

要出示路由表音信,只需不难的route -n即可,在那之中-n选项表示不解析主机名。

例如:

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

对于CentOS
陆以上的体系,请忽略Metric和Ref两列,它们曾经不被基本使用,只是有个别路由软件只怕会用上。

对此Flags列,假若未有安装路由软件,则只大概出现上边包车型大巴三种值:

U (route is up)

H (target is a host)

G (use gateway,也即是设置了下壹跳的路由条目)

若要管理路由表,则选取add或del选项。

route [add/del] [-host/-net/default] [address[/mask]] [netmask] [gw] [dev]

选项说明:
add/del:增加或删除路由条目
-net:增加或删除的是一条网络路由
-host:增加或删除的是一条主机路由
default:增加或删除的是一条默认路由
netmask:明确使用netmask关键字指定掩码,要可以不使用该选项直接在地址上使用cidr格式的掩码,即IP/MASK。
gw:指定下一跳的地址。要求下一跳地址必须是能到达的,且一般是和本网段直连的接口。
dev:强制将路由条目关联到指定的接口上。一般内核会自动判断路由条目应该关联到哪个网络接口。

例如:

(一).添加和删除私下认可路由

shell> route add default gw 192.168.100.10
shell> route del default
shell> route del default gw 192.168.100.10   # 若有多条默认路由,则再加上gw即可唯一删除指定路由条目

因为暗中认可路由的指标地是0.0.0.0,所以操作私下认可路由也足以使用0.0.0.0代表default关键字,但这么就麻烦的多了。

(2).添加和删除网络路由

shell> route add -net 172.16.10.0/24 gw 192.168.100.70
shell> route add -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70

若实在不晓得下1跳给哪个人,那么钦定本机接口也是足以的。

shell> route add -net 172.16.10.0/24 dev eth0

删除路由得以直接在扩展路由的语句上校add改为del关键字。如

shell> route del -net 172.16.10.0/24 gw 192.168.100.70
shell> route del -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70
shell> route del -net 172.16.10.0/24 dev eth0

但多数时候,能够偷懒,只要能唯一分明删除的是哪条路由即可。如:

shell> route del -net 172.16.10.0/24

(三)添加和删除主机路由

shell> route add -host 172.16.10.55 gw 192.168.10.20
shell> route del -host 172.16.100.55

一3.4.2配置永久路由

(二)
配置eth0小名设备eth0:壹的IP地址,并添加路由。

13.5 arp和arping命令

护卫或查看系统arp缓存,该命令已抛弃,使用ip neigh代替。

arp为地址解析协议,将加以的ipv四地址在网络中搜寻其对应的MAC地址。

相似会动用arp协议得到局域网内的主机MAC,所以局域网主机之间也互称为互联网邻居。

壹叁.肆.贰 配置永久路由

基于接口创设路由陈设文件/etc/syconfig/network-scripts/route-ethX,要从那些接口出去X就是几。

路由配置文件的配置格式非凡简单,每一行1个路由条目,先是要到达的靶子,然后是via关键字,最终是下一跳地址。供给下一跳必须能抵达,且壹般都和ethX同网段。

DEST    via     nexthop

例如eth0网卡的IP地址是19二.16八.拾.1二叁,要通过网卡eth0出去到达拾.0.0.十,那么下一跳的地址要和eth0的地点在同网段,如1玖二.16八.拾.22二。

10.0.0.0 via 192.168.10.222

route-ethX文件的还有此外1种永久路由的布局写法,但地方的办法更简约神速,所以那里就不多说了。

13.5
arp和arping命令

#ifconfig eth0:1
192.168.1.3

13.5.1 arp命令

arp命令语法:

arp -n -v -i           # 查看arp缓存
arp -i -d hostname     # 删除arp缓存条目

选项说明:
-n:不解析ip地址为名称
-v:详细信息
-i:指定操作的接口
-d:删除一个arp条目

hostname:操作该主机的arp条目,除了剔除还有其它动作,如手动添加主机的arp条目,此处就不表明该用法了

例如:

[root@xuexi ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth0
192.168.100.70           ether   00:0c:29:71:81:64   C                     eth0
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth0
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth1
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth0

实质上查看的消息是/proc/net/arp文件中的内容。

[root@xuexi ~]# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth0
192.168.100.70   0x1         0x2         00:0c:29:71:81:64     *        eth0
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth0
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth1
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth0

[root@xuexi ~]# arp -d 192.168.100.70 -i eth0   # 删除arp缓存条目

arp命令2回只可以删除一条arp条目,要批量刨除或清空整个arp条目,使用ip
neigh flush命令。如:

[root@xuexi ~]# ip neigh flush all            # 清空所有
[root@xuexi ~]# ip neigh flush dev eth0     # 删除eth0上缓存的arp条目

13.5 arp和arping命令

保险或查看系统arp缓存,该命令已扬弃,使用ip neigh代替。

arp为地址解析协议,将加以的ipv肆地址在互连网中查找其对应的MAC地址。

相似会使用arp协议获得局域网内的主机MAC,所以局域网主机之间也互称为互连网邻居。

13.5.1
arp命令

#route add –host
192.168.1.3 dev eth0:1

13.5.2 arping命令

arping用于发送arp请求报文,解析并得到目的地址的MAC。暗中同意将首发送广播报文,收到回复后再发送单播报文,局域网内全部主机都能收到广播报文,但只有对象主机才会东山再起本人的MAC地址。

在意:发送arp请求报文实际上是另类的ping,所以可以探测目的是或不是存活,也须要和对象通讯,通讯时目的主机上也会缓存本主机(即源地址)的arp条目。

语法:

arping [-fqbDU] [-c count] [-w timeout] [-I device] [-s source] destination
-f : 收到第一个reply就立即退出
-q : 安静模式,什么都不输出
-b : 只发送广播,不发送单播
-D : 地址冲突检测
-U : 主动更新邻居的arp缓存(Unsolicited ARP mode)
-c count : 发送多少个arp请求包后退出
-w timeout : 等待reply的超时时间
-I device : 使用哪个接口发送请求包。发送arp请求包接口的MAC地址将缓存在目标主机上
-s source : 指定arp请求报文中源地址,若发送的接口和源地址不同,则目标主机将缓存该地址和接口的MAC地址,而非该源地址所在接口的MAC地址
 destination : 向谁发送arp请求报文,即要获取该IP或主机名的MAC地址

例如:

(一).请求解析1玖贰.168.100.70主机的MAC地址

[root@xuexi ~]# arping -f 192.168.100.70

那将会发送广播报文,直到收到1九二.16八.拾0.70的回涨才脱离。

并且,1玖二.168.100.70也会缓存本机的IP和MAC对应条目,由于此地没有点名请求报文的发送接口和源地址,所以发送报文时是基于路由表来采纳接口和对应该接口地址的。

(贰).内定发送四个伸手报文给192.16捌.100.70就退出,发送报文的接口为eth一,并钦赐请求报文中的源地址为本机eth0接口上的地址1玖二.16八.拾0.5四

[root@xuexi ~]# arping -c 1 -I eth1 -s 192.168.100.54 192.168.100.70

发送那样的arp请求包,将会使得目的主机1九2.16捌.拾0.70缓存本机的arp条目为”1玖二.16捌.100.5肆MAC_eth一”,但实则,1玖贰.16八.100.5肆所在接口的MAC地址为MAC_eth0。

arping命令仅能兑现那种简单的arp诈骗,更多的arp棍骗方法能够动用尤其的工具。

(3).探测对方主机是还是不是存活

诸如发送五个探测报文,有还原就证实对方存活

[root@xuexi ~]# arping -c 4 -I eth0 192.168.100.2  
ARPING 192.168.100.2 from 192.168.100.54 eth0
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.593ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.930ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.868ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.844ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

足见发送了七个探测报文,个中第1个报文是广播报文,并且吸收接纳了多少个回复。

13.5.1 arp命令

arp命令语法:

arp -n -v -i           # 查看arp缓存
arp -i -d hostname     # 删除arp缓存条目

选项说明:
-n:不解析ip地址为名称
-v:详细信息
-i:指定操作的接口
-d:删除一个arp条目

hostname:操作该主机的arp条目,除了剔除还有其余动作,如手动添加主机的arp条目,此处就不表达该用法了

例如:

[[email protected] ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth0
192.168.100.70           ether   00:0c:29:71:81:64   C                     eth0
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth0
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth1
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth0

实则查看的音讯是/proc/net/arp文件中的内容。

[[email protected] ~]# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth0
192.168.100.70   0x1         0x2         00:0c:29:71:81:64     *        eth0
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth0
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth1
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth0

[[email protected] ~]# arp -d 192.168.100.70 -i eth0   # 删除arp缓存条目

arp命令贰回只可以删除一条arp条目,要批量去除或清空整个arp条目,使用ip
neigh flush命令。如:

[[email protected] ~]# ip neigh flush all            # 清空所有
[[email protected] ~]# ip neigh flush dev eth0     # 删除eth0上缓存的arp条目

13.5.2
arping命令

(三) 激活设备。

13.6 ip命令

那是1个极其强大的吩咐,后面所有的网络消息显示和管理的一声令下,都足以由ip命令来替代实现。它是1个严酷形式化的下令。

13.5.2 arping命令

arping用于发送arp请求报文,解析并收获指标地方的MAC。私下认可将首发送广播报文,收到回复后再发送单播报文,局域网内全数主机都能接受广播报文,但唯有对象主机才会东山再起本身的MAC地址。

小心:发送arp请求报文实际上是另类的ping,所以能够探测指标是不是存活,也须求和目的通讯,通讯时目的主机上也会缓存本主机(即源地址)的arp条目。

语法:

arping [-fqbDU] [-c count] [-w timeout] [-I device] [-s source] destination
-f : 收到第一个reply就立即退出
-q : 安静模式,什么都不输出
-b : 只发送广播,不发送单播
-D : 地址冲突检测
-U : 主动更新邻居的arp缓存(Unsolicited ARP mode)
-c count : 发送多少个arp请求包后退出
-w timeout : 等待reply的超时时间
-I device : 使用哪个接口发送请求包。发送arp请求包接口的MAC地址将缓存在目标主机上
-s source : 指定arp请求报文中源地址,若发送的接口和源地址不同,则目标主机将缓存该地址和接口的MAC地址,而非该源地址所在接口的MAC地址
 destination : 向谁发送arp请求报文,即要获取该IP或主机名的MAC地址

例如:

(一).请求解析1九二.16八.100.70主机的MAC地址

[[email protected] ~]# arping -f 192.168.100.70

这将会发送广播报文,直到收到1玖二.168.100.70的过来才脱离。

并且,1玖贰.16八.拾0.70也会缓存本机的IP和MAC对应条目,由于那里未有点名请求报文的出殡和埋葬接口和源地址,所以发送报文时是基于路由表来选用接口和对相应接口地址的。

(二).钦定发送3个呼吁报文给1玖二.16八.100.70就退出,发送报文的接口为eth一,并内定请求报文中的源地址为本机eth0接口上的地点19二.16八.100.5四

[[email protected] ~]# arping -c 1 -I eth1 -s 192.168.100.54 192.168.100.70

发送那样的arp请求包,将会使得目的主机1玖二.16八.拾0.70缓存本机的arp条目为”1玖贰.168.十0.54MAC_eth一”,但实则,192.16八.100.54所在接口的MAC地址为MAC_eth0。

arping命令仅能兑现那种总结的arp诈骗,越多的arp诈骗方法能够动用尤其的工具。

(三).探测对方主机是还是不是存活

譬如说发送陆个探测报文,有还原就证实对方存活

[[email protected] ~]# arping -c 4 -I eth0 192.168.100.2  
ARPING 192.168.100.2 from 192.168.100.54 eth0
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.593ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.930ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.868ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.844ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

看得出发送了五个探测报文,其中第多个报文是广播报文,并且吸收接纳了6个回复。

13.6
ip命令

#ifconfig eth0:1 up

1叁.陆.1 获取ip命令的相助

先简单表明下ip命令的根基和获得补助的艺术。

[root@xuexi ~]# ip -h

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                   netns | l2tp | tcp_metrics | token }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec |
                    -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
                    -4 | -6 | -I | -D | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -a[ll] }

可见命令相当复杂,有不少options,还有众多object,每一种Object又对应分歧的一声令下。但实际能用到的就多少个object:addr/route/neigh/link。

动用ip object help能够收获到该object的语法帮助。例如:

[root@xuexi ~]# ip addr help

在ip命令行下,任何object都得以写其姓名,也足以写其缩写名,例如address这么些object,能够简写为addr,也能够简写为三个字母a

[root@xuexi ~]# ip a help      # 等价于ip address help和ip addr help

就算还有三个a开始的object为addrlabel。那时因为ip会从上述语法给出的object顺序在此之前向后相当,例如”ip
m”将合营到”ip maddr”,假如想相称别的,如addrlabel,则写长一些即可”ip
addrl”。

对于CentOS 六,man
ip时会输出整个ip的帮助文书档案,包罗每一个object的命令和表达。在CentOS
7中,则要对各样object独立进行man,例如addr那么些object。

[root@xuexi ~]# man ip-address

以下是颇具Object的man列表。

[root@xuexi ~]# rpm -ql iproute | grep "man8/ip-"
/usr/share/man/man8/ip-address.8.gz
/usr/share/man/man8/ip-addrlabel.8.gz
/usr/share/man/man8/ip-l2tp.8.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/ip-maddress.8.gz
/usr/share/man/man8/ip-monitor.8.gz
/usr/share/man/man8/ip-mroute.8.gz
/usr/share/man/man8/ip-neighbour.8.gz
/usr/share/man/man8/ip-netconf.8.gz
/usr/share/man/man8/ip-netns.8.gz
/usr/share/man/man8/ip-ntable.8.gz
/usr/share/man/man8/ip-route.8.gz
/usr/share/man/man8/ip-rule.8.gz
/usr/share/man/man8/ip-tcp_metrics.8.gz
/usr/share/man/man8/ip-token.8.gz
/usr/share/man/man8/ip-tunnel.8.gz
/usr/share/man/man8/ip-xfrm.8.gz

13.6 ip命令

那是二个可是强大的指令,前边全部的网络新闻显示和治本的通令,都足以由ip命令来取代完结。它是3个严酷形式化的授命。

1叁.陆.壹获取ip命令的帮忙

(四) 禁止使用设备。

13.6.2 ip addr

ip
addr用于管理互连网设备上的ip地址,也得以查阅ip地址的性质音信。在老版本的Linux中,壹块网卡上安装多少个IP,这几个IP称为别名IP,可是从CentOS
陆开头,那些IP称为secondary IP或slave IP,因为这几个IP本人也足以顺便属性。

(1).ip addr add/del

ip address { add | del } IFADDR dev STRING
IFADDR := PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label STRING ]

以add为例:
dev NAME:指定要设置IP地址的网卡
local ADDRESS (default):接口的IP地址。IP地址的格式依赖于是ipv4还是ipv6。对于ipv4而言,给定地址,可能还需要给定cidr的掩码位长度
broadcast ADDRESS:接口的广播地址
label NAME:为该接口的IP地址设置label名,label名称必须以网络接口名开头后接冒号,如eth0:X

del和add的参数相同,且dev是必须要给定的,其余的参数可选,因为del的时候是通配del,如果删除时有多个满足条件的条目,则删除第一个条目。

例如:

[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0
[root@xuexi ~]# ip addr add 192.168.100.35/24 dev eth1

此措施丰裕的地点不会在ifconfg命令中显得,ifconfg能捕捉到的是小名,所以可以为地点加上label,以让secondary被ifconfig查看到。例如:

[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0 label eth0:0

要去除ip,则简单的多,但不能不钦命dev,且最佳也钦命cidr的掩码长度。

[root@xuexi ~]# ip addr del 192.168.100.45 dev eth0
[root@xuexi ~]# ip addr del 192.168.100.35/24 dev eth1

(2).ip addr show

即使也有多少个选项,可是觉得没什么用,间接ip addr
show就够了。因为ip命令可以缩写,所以能够写为

[root@xuexi ~]# ip a show
[root@xuexi ~]# ip a s
[root@xuexi ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:71:81:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.70/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::20c:29ff:fe71:8164/64 scope link
       valid_lft forever preferred_lft forever

(3).ip addr flush

用以批量删减地址,该命令其实生命垂危,一个非常的大心就会挫伤无辜,所幸的是flush的时候不给定任何参数可能未有别的条目能够包容上的时候将不实施flush动作,由此可知该命令要小心使用。同样也亟须给定dev参数。

比如删除eth一上独具地点。

[root@xuexi ~]# ip a flush dev eth1

删去eth一上装有的secondary地址。

[root@xuexi ~]# ip a f secondary dev eth1

1三.6.1 获取ip命令的赞助

先简单表达下ip命令的底蕴和取得扶助的不二秘籍。

[[email protected] ~]# ip -h

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                   netns | l2tp | tcp_metrics | token }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec |
                    -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
                    -4 | -6 | -I | -D | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -a[ll] }

足见命令相当复杂,有过多options,还有好多object,各样Object又对应不一致的授命。但实际上能用到的就多少个object:addr/route/neigh/link。

选取ip object help能够拿走到该object的语法援助。例如:

[[email protected] ~]# ip addr help

在ip命令行下,任何object都能够写其姓名,也得以写其缩写名,例如address这些object,能够简写为addr,也足以简写为1个字母a

[[email protected] ~]# ip a help      # 等价于ip address help和ip addr help

即使还有3个a伊始的object为addrlabel。这时因为ip会从上述语法给出的object顺序此前向后分外,例如”ip
m”将相配到”ip maddr”,假使想相配别的,如addrlabel,则写长一些即可”ip
addrl”。

对此CentOS 陆,man
ip时会输出整个ip的扶持文书档案,包罗各类object的吩咐和认证。在CentOS
七中,则要对每种object独立开始展览man,例如addr那么些object。

[[email protected] ~]# man ip-address

以下是持有Object的man列表。

[[email protected] ~]# rpm -ql iproute | grep "man8/ip-"
/usr/share/man/man8/ip-address.8.gz
/usr/share/man/man8/ip-addrlabel.8.gz
/usr/share/man/man8/ip-l2tp.8.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/ip-maddress.8.gz
/usr/share/man/man8/ip-monitor.8.gz
/usr/share/man/man8/ip-mroute.8.gz
/usr/share/man/man8/ip-neighbour.8.gz
/usr/share/man/man8/ip-netconf.8.gz
/usr/share/man/man8/ip-netns.8.gz
/usr/share/man/man8/ip-ntable.8.gz
/usr/share/man/man8/ip-route.8.gz
/usr/share/man/man8/ip-rule.8.gz
/usr/share/man/man8/ip-tcp_metrics.8.gz
/usr/share/man/man8/ip-token.8.gz
/usr/share/man/man8/ip-tunnel.8.gz
/usr/share/man/man8/ip-xfrm.8.gz

13.6.2 ip
addr

#ifconfig eth0:down

13.6.3 ip route

该命令维护和查看内核中的路由表。

(1).ip route add/del/change/append/replace

语法格式为:

ip route { add | del | change | append | replace } dest[/cidr_mask] [ via ADDRESS ] [ dev STRING ]

里面dest为目的地址,能够是主机地址、网段地址,一般在地点后都会带上cidr格式的掩码长度,不带时私下认可为30人长度。假诺dest为”0/0″只怕写为”default”,则意味着暗许路由。

比如添加/修改/替换普通路由:

[root@xuexi ~]# ip route add/change/replace 172.16.10.0/24 via 192.168.10.20

添加/修改/替换暗中认可路由:

[root@xuexi ~]# ip route add/change/replace default via 192.168.10.20
[root@xuexi ~]# ip route add/change/replace 0/0 via 192.168.100.2

剔除某路由:

[root@xuexi ~]# ip route del 172.16.10.0/24
[root@xuexi ~]# ip route del default   # 删除默认路由

(2).ip route show

列出路由表。

语法格式为:

ip route show [to [ root | match | exact ] ADDR_pattern ] [ via ADDR ]

个中to关键字是私下认可关键字,用来相配路由的靶子地方。其后方可跟上修饰符root/match/exact,exact为私下认可修饰符,表示精确相称掩码位长度,root修饰符表示相当的掩码位长度当先或等于ADD福睿斯_pattern给定的掩码位长度,match修饰符相配短于或等于ADDPAJERO_pattern掩码位长度。例如”to
match
16.0/1陆”将能合作到”1六.0/1陆”、”16/八”和”0/0″,但却无所适从合作”16.1/1六”和”1陆.0/贰四”以及”1陆.0.一半4″,而”to
root 1陆.0/1六”将能相称”1陆.0/二四”和”1陆.0.5/10四”。

via是基于下一跳的不二诀窍来列出路由条目。

例如:

澳门金沙国际 2

澳门金沙国际 3

[root@xuexi ~]# ip route show to match 192.168/24 | column -t     
default  via  192.168.100.2  dev  eth0  proto  static  metric  100

澳门金沙国际 4

事实上无需那么花哨,简简单单的”ip r”多造福。

(3).ip route flush

批量刨除路由表条目。参数和ip route show的参数一样。

譬如说删除由eth1出去的路由条目。

[root@xuexi ~]# ip route flush eth1

除去下一跳为1九二.16八.⑩0.70的路由条目。

[root@xuexi ~]# ip r flush via 192.168.100.70

剔除目的为192.16八.0.0/16网段的路由

[root@xuexi ~]# ip route flush 192.168/16

(4).ip route save/restore

用于保存当前的路由表以及恢复生机路由表。保存路由表时,路由表将以2进制裸数据的格式输出,也正是看不懂的贰进制文件。恢复生机路由表时,必要配备的安装和保存路由表时是同等的,苏醒时已存在于路由表中的路由条目将被忽视。

比如说当前路由表新闻如下:

[root@xuexi ~]# ip r
default via 192.168.100.2 dev eth0  proto static  metric 100
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20  metric 100
192.168.100.0/24 dev eth0  proto kernel  scope link  src 192.168.100.54  metric 100
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

封存当前路由表。

[root@xuexi ~]# ip route save > /tmp/route.txt

去除几条路由表。

[root@xuexi ~]# ip route flush dev eth0

[root@xuexi ~]# ip r
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

平复路由表。

[root@xuexi ~]# ip route restore < /tmp/route.txt

13.6.3 ip
route

(五)
查看钦点的网络接口的布局。

13.6.4 ip link

link表示link
layer的意味,即链路层。该命令用于管理和查看互连网接口,甚至足以添加虚拟网络接口,将网络接口分组进行保管。

(1).ip link set

ip link set DEVICE  { up | down | arp { on | off } | name NEWNAME | address LLADDR }  

选项说明:
dev DEVICE:指定要操作的设备名
up and down:启动或停用该设备
arp on or arp off:启用或禁用该设备的arp协议
name NAME:修改指定设备的名称,建议不要在该接口处于运行状态或已分配IP地址时重命名
address LLADDRESS:设置指定接口的MAC地址

例如,禁用eth1网卡。

[root@xuexi ~]# ip link set eth1 down

骨子里等价于:

[root@xuexi ~]# ifconfig eth1 down

修改网卡eth1的MAC地址。

[root@xuexi ~]# ip link set eth1 address 00:0c:29:f3:33:77

(2).ip link show

语法格式:

ip [ -s | -h ] link show [dev DEV]  

选项说明:
-s:将显示各网络接口上的流量统计信息
-h:以人类可读的方式显式,即单位转换。注:"-h"在CentOS 7上才支持。

例如:

[root@xuexi ~]# ip -s -h link show  dev eth0  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f7:43:77 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast  
    13.7M      20.0k    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    1.59M      9.97k    0       0       0       0 

13.6.2 ip addr

ip
addr用于管理互联网设备上的ip地址,也足以查看ip地址的属性信息。在老版本的Linux中,1块网卡上安装三个IP,这一个IP称为别名IP,不过从CentOS
陆起头,这几个IP称为secondary IP或slave IP,因为那一个IP自个儿也足以顺便属性。

(1).ip addr add/del

ip address { add | del } IFADDR dev STRING
IFADDR := PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label STRING ]

以add为例:
dev NAME:指定要设置IP地址的网卡
local ADDRESS (default):接口的IP地址。IP地址的格式依赖于是ipv4还是ipv6。对于ipv4而言,给定地址,可能还需要给定cidr的掩码位长度
broadcast ADDRESS:接口的广播地址
label NAME:为该接口的IP地址设置label名,label名称必须以网络接口名开头后接冒号,如eth0:X

del和add的参数相同,且dev是必须要给定的,其余的参数可选,因为del的时候是通配del,如果删除时有多个满足条件的条目,则删除第一个条目。

例如:

[[email protected] ~]# ip addr add 192.168.100.45 dev eth0
[[email protected] ~]# ip addr add 192.168.100.35/24 dev eth1

此格局丰硕的地址不会在ifconfg命令中展现,ifconfg能捕捉到的是外号,所以能够为地点加上label,以让secondary被ifconfig查看到。例如:

[[email protected] ~]# ip addr add 192.168.100.45 dev eth0 label eth0:0

要去除ip,则简单的多,但不能不内定dev,且最佳也钦定cidr的掩码长度。

[[email protected] ~]# ip addr del 192.168.100.45 dev eth0
[[email protected] ~]# ip addr del 192.168.100.35/24 dev eth1

(2).ip addr show

虽说也有几个选项,不过觉得没什么用,直接ip addr
show就够了。因为ip命令能够缩写,所以能够写为

[[email protected] ~]# ip a show
[[email protected] ~]# ip a s
[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:71:81:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.70/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::20c:29ff:fe71:8164/64 scope link
       valid_lft forever preferred_lft forever

(3).ip addr flush

用以批量删减地址,该命令其实朝不保夕,二个十分大心就会挫伤无辜,所幸的是flush的时候不给定任何参数或许未有别的条目能够兼容上的时候将不实施flush动作,同理可得该命令要小心使用。同样也非得给定dev参数。

比如删除eth1上独具地点。

[[email protected] ~]# ip a flush dev eth1

去除eth1上有着的secondary地址。

[[email protected] ~]# ip a f secondary dev eth1

13.6.4 ip
link

#ifconfig eth0

13.6.3 ip route

该命令维护和查阅内核中的路由表。

(1).ip route add/del/change/append/replace

语法格式为:

ip route { add | del | change | append | replace } dest[/cidr_mask] [ via ADDRESS ] [ dev STRING ]

中间dest为目的地址,可以是主机地址、网段地址,一般在地点后都会带上cidr格式的掩码长度,不带时默许为三十四位长度。要是dest为”0/0″只怕写为”default”,则意味着暗中认可路由。

譬如说添加/修改/替换普通路由:

[[email protected] ~]# ip route add/change/replace 172.16.10.0/24 via 192.168.10.20

添加/修改/替换暗中认可路由:

[[email protected] ~]# ip route add/change/replace default via 192.168.10.20
[[email protected] ~]# ip route add/change/replace 0/0 via 192.168.100.2

剔除某路由:

[[email protected] ~]# ip route del 172.16.10.0/24
[[email protected] ~]# ip route del default   # 删除默认路由

(2).ip route show

列出路由表。

语法格式为:

ip route show [to [ root | match | exact ] ADDR_pattern ] [ via ADDR ]

里面to关键字是暗许关键字,用来相称路由的靶子地址。其后能够跟上修饰符root/match/exact,exact为暗中认可修饰符,表示精确相配掩码位长度,root修饰符表示万分的掩码位长度超越或等于ADD中华V_pattern给定的掩码位长度,match修饰符相配短于或等于ADDPAJERO_pattern掩码位长度。例如”to
match
1陆.0/1陆”将能合营到”16.0/16″、”16/八”和”0/0″,但却不可能合作”1陆.1/16″和”1陆.0/二4″以及”1六.0.5/10四”,而”to
root 1陆.0/16″将能相称”16.0/二四”和”16.0.二分一四”。

via是依据下1跳的措施来列出路由条目。

例如:

[[email protected] ~]# ip route show | column -t                   
default           via  192.168.100.2  dev    eth0    proto  static  metric  100
172.16.10.0/24    dev  eth1           proto  kernel  scope  link    src     172.16.10.20    metric  100
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20   metric  100
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20   metric  100
192.168.100.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.100.54  metric  100
192.168.100.0/24  dev  eth1           proto  kernel  scope  link    src     192.168.100.74  metric  101

[[email protected] ~]# ip route show to match 192.168.10/24 | column -t
default          via  192.168.100.2  dev    eth0    proto  static  metric  100
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20  metric  100

[[email protected] ~]# ip route show to match 192.168/24 | column -t     
default  via  192.168.100.2  dev  eth0  proto  static  metric  100

[[email protected] ~]# ip route show to root 192.168/16 | column -t
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20   metric  100
192.168.100.0/24  dev  eth0  proto  kernel  scope  link  src  192.168.100.54  metric  100
192.168.100.0/24  dev  eth1  proto  kernel  scope  link  src  192.168.100.74  metric  101

实则无需那么花哨,简不难单的”ip r”多造福。

(3).ip route flush

批量剔除路由表条目。参数和ip route show的参数1样。

譬如删除由eth一出去的路由条目。

[[email protected] ~]# ip route flush eth1

去除下壹跳为192.16八.100.70的路由条目。

[[email protected] ~]# ip r flush via 192.168.100.70

删除目的为1玖贰.16八.0.0/1陆网段的路由

[[email protected] ~]# ip route flush 192.168/16

(4).ip route save/restore

用于保存当前的路由表以及复苏路由表。保存路由表时,路由表将以二进制裸数据的格式输出,也正是看不懂的贰进制文件。苏醒路由表时,要求配备的安装和保存路由表时是壹样的,恢复生机时已存在于路由表中的路由条目将被忽略。

比如当前路由表新闻如下:

[[email protected] ~]# ip r
default via 192.168.100.2 dev eth0  proto static  metric 100
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20  metric 100
192.168.100.0/24 dev eth0  proto kernel  scope link  src 192.168.100.54  metric 100
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

保存当前路由表。

[[email protected] ~]# ip route save > /tmp/route.txt

剔除几条路由表。

[[email protected] ~]# ip route flush dev eth0

[[email protected] ~]# ip r
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

平复路由表。

[[email protected] ~]# ip route restore < /tmp/route.txt

(陆)
查看全部的互联网接口配置。

13.6.4 ip link

link表示link
layer的情致,即链路层。该命令用于管理和查看网络接口,甚至足以添加虚拟网络接口,将网络接口分组实行保管。

(1).ip link set

ip link set DEVICE  { up | down | arp { on | off } | name NEWNAME | address LLADDR }  

选项说明:
dev DEVICE:指定要操作的设备名
up and down:启动或停用该设备
arp on or arp off:启用或禁用该设备的arp协议
name NAME:修改指定设备的名称,建议不要在该接口处于运行状态或已分配IP地址时重命名
address LLADDRESS:设置指定接口的MAC地址

例如,禁用eth1网卡。

[[email protected] ~]# ip link set eth1 down

骨子里等价于:

[[email protected] ~]# ifconfig eth1 down

修改网卡eth一的MAC地址。

[[email protected] ~]# ip link set eth1 address 00:0c:29:f3:33:77

(2).ip link show

语法格式:

ip [ -s | -h ] link show [dev DEV]  

选项说明:
-s:将显示各网络接口上的流量统计信息
-h:以人类可读的方式显式,即单位转换。注:"-h"在CentOS 7上才支持。

例如:

[[email protected] ~]# ip -s -h link show  dev eth0  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f7:43:77 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast  
    13.7M      20.0k    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    1.59M      9.97k    0       0       0       0 

 

回来连串小说大纲:

 

#ifconfig

转发请注解出处:

 

Linux的互连网管理,第贰3章linux 本文目录:
一三.1 Linux数据包转载作用 13.2 和网络有关的多少个文本申明 一叁.2.一网卡配置文件ifcfg-* 13.2.2 DNS配…

在诠释Linux互联网管理有关的内容时,小编认为有要求先表达多少包转载作用以及由此关系到的路由决策,那对厘清路由和前程的防火墙有首要扶持。然后再介绍网络布局命令和血脉相通文书。

二、
route命令来陈设并查看内核路由表的布置情形

壹三.1 Linux处理多少包进程

当向外面主机发送数据时,在它从网卡流入后须求对它做路由决定,依照其目的控制是流入本机数据照旧转载给其余主机,假设是流入本机的数量,则数据会从根本空间进入用户空间(被应用程序接收、处理)。当用户空间响应(应用程序生成新的数据包)时,响应数据包是本机爆发的新数据,在响应包流出此前,须要做路由决定,依照指标控制从哪个网卡流出。即便不是流入本机的,而是要转载给其余主机的,则必然关联到另八个流出网卡,此时数据包必须从流入网卡完整地转载给流出网卡,那供给Linux主机能够达成如此的转会。但Linux主机暗中同意未张开ip_forward功能,那使得数据包不能转车而被甩掉。Linux主机和路由器差异,路由器本人便是为了转载数据包,所以路由器内部暗中认可就能在差异网卡间转载数据包,而Linux主机默许则无法转化。如下图:

澳门金沙国际 5

其余,IP地址是属于基本的(不仅如此,整个tcp/ip协议栈都属于基本,包罗端口号),只要能和里面二个地方通讯,就能和另二个地址通讯(准确地说是能路由那五个地方),而随就是否打开了数额包转发效能。譬如某Linux主机有两网卡eth0:17二.1陆.10.5和eth一:19二.16捌.十0.20,某1玖二.16八.100.22主机网关指向19二.16八.十0.20,若它ping
17二.1陆.10.5,结果将是通的,因为地址属于基本,从eth一进来的数额包被内核分析时,发现指标地方为本机地址,直接就回应1玖二.16八.100.22,回应数据包继续从eth一出去。

如果Linux主机有多块网卡,要是不开启数据包转发功用,则这一个网卡之间是力不从心互通的。例如eth0是172.1陆.10.0/二4网段,而eth一是1九二.16八.十0.0/二四网段,到达该Linux主机的数额包不能从eth0交给eth1要么从eth一交给eth0,除非Linux主机开启了数额包转载作用。

在Linux上打开转载功能有种种方法:

shell> echo 1 > /proc/sys/net/ipv4/ip_forward
shell> sysctl -w net.ipv4.ip_forward=1

以上三种方法是如今生效的,若要永久生效,则应当写入配置文件。在CentOS
六中,将/etc/sysctl.conf文件中的”net.ipv四.ip_forward”值改为1即可,但在CentOS
柒中,systemd管理了太多的功能,sysctl的布署文件也分裂为五个,包含/etc/sysctl.conf、/etc/sysctl.d/*.conf和/usr/lib/sysctl.d/*.conf,并且这几个文件中私下认可都未有net.ipv4.ip_forward项。当然,直接将此项写入到这么些配置文件中也都是足以的,提出写在/etc/sysctl.d/*.conf中,那是systemd提供自定义内核修改项的目录。例如:

shell> echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf

能够应用以下三种艺术查看是或不是打开了转载成效。

[root@xuexi ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

[root@xuexi ~]# cat /proc/sys/net/ipv4/ip_forward
0

[root@xuexi ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0

例如:

1三.贰 和互连网有关的多少个公文表达

(1)
添加到主机的路由。

#route add –host
192.168.1.2 dev eth0:0

一三.2.一 网卡配置文件ifcfg-*

在/etc/sysconfig/network-scripts/目录下有不少文件,绝大部分都是脚本类的文书,但有壹类ifcfg开头的文件为网卡配置文件(interface
config),全部ifcfg开始的文书在开行互联网服务的时候都会被加载读取,但实际的公文名ifcfg-XX的XX能够随便命名。

以下是三个(CentOS 七上)ifcfg-XX文件的剧情示例。

[root@xuexi ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"      # 显示的名称,必须/sys/class/net/目录下的某个网卡名相同
IPV6INIT="no" 
BOOTPROTO="dhcp"
ONBOOT=yes 
TYPE="Ethernet"
DEFROUTE="yes"
PEERDNS="yes"      # 设置为yes时,此文件设置的DNS将覆盖/etc/resolv.conf,
                   # 若开启了DHCP,则默认为yes,所以dhcp的dns也会覆盖/etc/resolv.conf
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
NAME="System eth0"
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=114.114.115.115

#route add –host
10.20.30.148 gw 10.20.30.40

一三.2.2 DNS配置文件/etc/resolv.conf

该公文用于安装DNS指向,以及解析顺序。该文件格式如下:

domain  domain_name         # 声明本地域名,即解析时自动隐式补齐的域名
search  domain_name_list    # 指定域名搜索顺序(最多6个),和domain不能共存,若共存了,则写在后面的行生效
nameserver  IP1             # 设置DNS指向,最多3个
nameserver  IP2
nameserver  IP3        
options timeout:n attempts:n  # 指定解析超时时间(默认5秒)和解析次数(默认2次)

例如将/etc/resolv.conf设置为下所示,为了测试,权且不设置nameserver。

domain malong.com

当解析不带点”.”的主机名时,如”www”,认为不是fqdn,将自动抬高”.malong.com”变成解析”www.malong.com”。

[root@xuexi ~]# host -a www
Trying "www.malong.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

当解析的称谓末尾不带点但中间带了点的,如”www.host”,认为是fqdn,将直接解析”www.host”,解析完这一个后再分析加上”malong.com”的名号,即再分析”www.host.malong.com”。

[root@xuexi ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malong.com"
;; connection timed out; no servers could be reached

当解析末尾带点的名称时,如”www.host.”认为是总体的fqdn,将一向解析”www.host”,解析完后直接截止解析,不会再补齐当地点名再分析。

[root@xuexi ~]# host -a www.host.
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host"   # 默认解析两次
;; connection timed out; no servers could be reached

search关键字的法力和domain是平等的,只可是search同时还暗含域名搜索的依次。例如设置search为如下内容:

search  malongshuai.com longshuai.com mashuai.com

那会儿若解析”www.host”,将次第解析”www.host”,”www.host.malongshuai.com”,”www.host.longshuai.com”,”www.host.mashuai.com”。

[root@xuexi ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.host.longshuai.com"
;; connection timed out; trying next origin
Trying "www.host.mashuai.com"
;; connection timed out; no servers could be reached

[root@xuexi ~]# host -a www
Trying "www.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.longshuai.com"
;; connection timed out; trying next origin
Trying "www.mashuai.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

domain部分和search部分不可能存活,假使共存了,则后出现的行有效。

(贰)
添加到互联网的路由。

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

当插入新的网络设施时,内核首先识别到,随后在sysfs文件系统(一般挂载在/sys下)中生成该设备对应的新闻文件。然后内核通告udev的后台守护进程udevd(若不亮堂它是怎么着事物,请认为它是Windows系统中的设备管理器,管理和监视硬件装备),udevd将读取sysfs中对应配备的连锁新闻,并比对或生成udev的规则集,能相称上的则做相应的操作。对于网卡来说,CentOS
6上它的的平整集文件私下认可为/etc/udev/rules.d/70-persistent-net.rules,相配该规则集成功后,最终还在/sys/class/net目录中变化对应的设备子目录。

以下为多少个网卡的条条框框集的始末:

[root@xuexi ~]# cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:a4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

切切实实的udev规则集语法并非本文内容,所以那里仅不难解释下方面的七个规则集。规则集文件的写法都以key/value格式,但分成相配key/vaule和行事key/value。上述例子中,从SUBSYSTEM直到KE宝马X5NEL都以行使”==”号,表示格外key/value,最终三个NAME使用单”=”号,表示赋值key/value。所以上述文件的意思是:当/sys中的某设备各音信都能相称上述某条规则,则赋值该设施名叫eth0或eth一,/sys/class/net目录下也通过名称命名设备新闻的目录,ifcfg-*安排文件中的DEVICE的值必须和它们等同

注意,网络规则集文件会由基本检查测试到设备时自动生成或写入,因而清空它不会有其余影响

仿造虚拟机时,总是会油可是生MAC地址冲突,那是因为规则集文件和ifcfg配置文件都被克隆了,而新克隆出来的机械中MAC地址又是新的,所以会转移新的规则集,但克隆过来的ifcfg配置文件中的DEVICE值和该规则对应不上,导致克隆主机的互连网将开发银行不了。消除办法是清空该文件,然后重启克隆主机,这样基本将新生成对应新MAC地址的条条框框集文件。当然,在仿制前清航空模型板主机的规则集文件,然后再克隆也是足以的。

值得1提的是,在CentOS
七中,systemd已经将udevd的功能整合在了1块儿,udev的条条框框集文件差不离都放到了/usr/lib/udev/rules.d/目录下,但却更便利了,克隆CentOS
7主机时,根本就不会并发MAC地址争论的或然。然而,显式书写在/etc/udev/rules.d/目录下的规则集文件仍旧是立竿见影的。

#route add –net
10.20.30.40 netmask 255.255.255.248 eth0

13.2.4 /etc/services

该公文中著录的是端口和服务的相应关系。

[root@xuexi ~]# grep '^ftp\|^ssh' /etc/services 
ftp-data        20/tcp
ftp-data        20/udp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
ftp-data        20/sctp                 # FTP
ftp             21/sctp                 # FTP
ssh             22/sctp                 # SSH
ftp-agent       574/tcp                 # FTP Software Agent System
ftp-agent       574/udp                 # FTP Software Agent System
sshell          614/tcp                 # SSLshell
sshell          614/udp                 #       SSLshell
ftps-data       989/tcp                 # ftp protocol, data, over TLS/SSL
ftps-data       989/udp                 # ftp protocol, data, over TLS/SSL
ftps            990/tcp                 # ftp protocol, control, over TLS/SSL
ftps            990/udp                 # ftp protocol, control, over TLS/SSL
ssh-mgmt        17235/tcp               # SSH Tectia Manager
ssh-mgmt        17235/udp               # SSH Tectia Manager

#route add –net
10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

一三.三 网络接口配置和主机名

#route add –net
192.168.1.0/24 eth1

13.3.1 ifconfig

该命令即使在man文书档案中被认证已放任,但民众明明不可能忘记它。ifconfig命令是贰个接口配置命令,但越来越多的被用来呈现已激活的互联网接口新闻。

ifconfig [ interface | -a ]
ifconfig interface options

选项说明:
interface:指定被操作的网络接口名,如eth0
up       :激活指定的网络接口,如果在命令行中为网络接口分配了IP地址,则默认会up
down     :将指定的接口设置为down状态
[-]arp   :启用或禁用该接口上使用ARP协议,如"ifconfig eth0 -arp"
mtu N    :设置指定接口的最大传输单元(MTU)
netmask  :设置该接口的IP netmask,默认会采用A/B/C类地址的掩码位数
address  :要分配给该接口的IP地址

ifconfig示例:

[root@xuexi ~]# ifconfig eth0:1 192.168.100.20 netmask 255.255.255.0 up  # 添加IP地址
[root@xuexi ~]# ifconfig eth0:1 192.168.100.20/24 up                     # 使用CIDR格式的掩码也可以
[root@xuexi ~]# ifconfig eth1 up       # 激活该网络接口
[root@xuexi ~]# ifconfig eth1 down     # 临时down掉eth1接口
[root@xuexi ~]# ifconfig eth1 -arp     # 抑制eth1上的arp
[root@xuexi ~]# ifconfig eth1 arp      # 启用eth1上的arp

亟需留意的是,ifconfig全部的安顿皆以应用于内核的,所以只会暂且生效,重启互连网服务后会立时失效。

对此slave地址,即小名地址,若要永久生效,应该树立相应的外号接口配置文件,如/ets/sysconfig/network-scripts/ifcfg-eth0:0,然后在该文件中的DEVICE关键字上给定eth0:0名称,该DEVICE项必须铺排不错。

(三) 添加暗许网关。

13.3.2 ifcfg

用法很简短。

ifcfg DEV [[add|del [ADDR[/LEN]] | stop]
       add - add new address
       del - delete address
       stop - completely disable IP

例如:

[root@xuexi ~]# ifcfg eth1:0 add 192.168.100.20/24   # 添加一个地址
[root@xuexi ~]# ifcfg eth1:0 del 192.168.100.20      # 删除一个地址
[root@xuexi ~]# ifcfg eth1 stop      # 临时禁用eth1

#route add default gw
192.168.1.1

(四)
查看内核路由表的布置。

13.3.3 hostname命令

用以安装主机名,但也有多少个其余好用的效果。

hostname [-I] [-f] [-d] [-s] [hostname]

选项说明:
-I         :获取该主机上所有非环回IP地址,该选项不依赖于主机名解析
-f,--fqdn  :获取fqdn
-d,--domain:获取fqdn的域名部分,等价于命令dnsdomainname
-s,--short :获取fqdn的主机名部分,严格地说是获取第一个"."前的部分,例如"www.baidu.com"将获取为"www"

选取-I选项能够直接获得该主机上的拥有IP地址,包蕴别称地址,那在一些时候太方便了。

[root@xuexi ~]# hostname -I
192.168.100.54 172.16.10.10

hostname修改的主机名字为一时生效,它修改的莫过于是/proc/sys/kernel/hostname文件。

[root@xuexi ~]# cat /proc/sys/kernel/hostname
xuexi.longshuai.com

虽说在man文书档案中说有个永久有效的选取(-b),但测试时却毫无效果。要想永远生效,供给修改配置文件/etc/hostname(CentOS
柒)或/etc/sysconfig/network(CentOS 6)。例如在CentOS 七上:

[root@xuexi ~]# echo "ma.longshuai.com" >/etc/hostname

#route

13.4 网关/路由

Linux上分为3种路由:

  • 长机路由:直接指明到某台具体的主机怎么走,主机路由也正是所谓的静态路由
  • 互联网路由:指明某类互连网怎么走
  • 暗中认可路由:不走主机路由的和网络路由的就走私下认可路由。操作系统上设置的私下认可路由壹般也叫做网关。

若Linux上到某主机有多条路由得以采纳,那时候会采纳优先级高的路由。在Linux中,路由条指标优先级分明格局是先相称掩码位长度,再比较管理距离。相当于说,掩码位长的路由条目优先级一定比掩码位短的先期级高,所以主机路由的优先级最高,然后是直连网络(即同网段)的路由(也总算互连网路由)次之,再是网络路由,最后才是暗许路由。若路由条指标掩码长度相同,则相比较节点之间的管理距离,管理距离短的生效。

比如说上面包车型的士路由表中,若ping
1九二.16八.伍.20,则先比对1九二.16捌.十0.7捌意识不或许合作,然后比对192.168.十0.0,发现也无能为力合营,接着再协作1九二.16八.0.0那条互连网路由条目,发现能合作,所以选取该路由条目。

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

再例如下边包车型客车路由表。由于两块网卡eth0和eth①都是19二.16八.拾0.0/2肆网段地址,所以它们的路由条目在掩码长度的合作上是如出一辙的,但是和eth0直连的网段主机通讯时,肯定会挑选eth0那条路由条目,因为eth一和该网段主机隔了一个eth0,距离增添了一。

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

(伍)删除路由。

13.4.1 route命令

route命令用于呈现和治本路由表。当使用了add或del选项时,route命令将安装路由条目,不然route命令将显示路由表。

要显得路由表消息,只需简单的route -n即可,其中-n选项表示不解析主机名。

例如:

[root@xuexi ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

对于CentOS
陆以上的系统,请忽略Metric和Ref两列,它们曾经不被基本使用,只是有个别路由软件只怕会用上。

对此Flags列,假使未有设置路由软件,则只恐怕出现上边包车型客车三种值:

U (route is up)

H (target is a host)

G (use gateway,约等于设置了下一跳的路由条目)

若要管理路由表,则接纳add或del选项。

route [add/del] [-host/-net/default] [address[/mask]] [netmask] [gw] [dev]

选项说明:
add/del:增加或删除路由条目
-net:增加或删除的是一条网络路由
-host:增加或删除的是一条主机路由
default:增加或删除的是一条默认路由
netmask:明确使用netmask关键字指定掩码,要可以不使用该选项直接在地址上使用cidr格式的掩码,即IP/MASK。
gw:指定下一跳的地址。要求下一跳地址必须是能到达的,且一般是和本网段直连的接口。
dev:强制将路由条目关联到指定的接口上。一般内核会自动判断路由条目应该关联到哪个网络接口。

例如:

(一).添加和删除私下认可路由

shell> route add default gw 192.168.100.10
shell> route del default
shell> route del default gw 192.168.100.10   # 若有多条默认路由,则再加上gw即可唯一删除指定路由条目

因为私下认可路由的指标地是0.0.0.0,所以操作私下认可路由也能够利用0.0.0.0代表default关键字,但如此就麻烦的多了。

(二).添加和删除互联网路由

shell> route add -net 172.16.10.0/24 gw 192.168.100.70
shell> route add -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70

若实在不知道下壹跳给什么人,那么内定本机接口也是能够的。

shell> route add -net 172.16.10.0/24 dev eth0

去除路由得以一贯在加码路由的言辞上校add改为del关键字。如

shell> route del -net 172.16.10.0/24 gw 192.168.100.70
shell> route del -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70
shell> route del -net 172.16.10.0/24 dev eth0

但大部分时候,能够偷懒,只要能唯壹明确删除的是哪条路由即可。如:

shell> route del -net 172.16.10.0/24

(叁)添加和删除主机路由

shell> route add -host 172.16.10.55 gw 192.168.10.20
shell> route del -host 172.16.100.55

#route del –host
192.168.1.2 dev eth0:0

一三.四.贰 配置永久路由

听闻接口创制路由安插文件/etc/syconfig/network-scripts/route-ethX,要从13分接口出去X正是几。

路由配置文件的安插格式相当不难,每一行一个路由条目,先是要到达的靶子,然后是via关键字,最后是下1跳地址。供给下壹跳必须能抵达,且一般都和ethX同网段。

DEST    via     nexthop

例如eth0网卡的IP地址是1玖2.16八.十.1二叁,要通过网卡eth0出去到达10.0.0.十,那么下一跳的地方要和eth0的地址在同网段,如192.168.十.22二。

10.0.0.0 via 192.168.10.222

route-ethX文件的还有别的壹种永久路由的配置写法,但地点的方法更简明快速,所以那里就不多说了。

#route del –host
10.20.30.148 gw 10.20.30.40

13.5 arp和arping命令

保险或查看系统arp缓存,该命令已扬弃,使用ip neigh代替。

arp为地址解析协议,将加以的ipv四地址在互连网中查找其相应的MAC地址。

1般会利用arp协议获得局域网内的主机MAC,所以局域网主机之间也互称为网络邻居。

#route del –net
10.20.30.40 netmask 255.255.255.248 eth0

13.5.1 arp命令

arp命令语法:

arp -n -v -i           # 查看arp缓存
arp -i -d hostname     # 删除arp缓存条目

选项说明:
-n:不解析ip地址为名称
-v:详细信息
-i:指定操作的接口
-d:删除一个arp条目

hostname:操作该主机的arp条目,除了剔除还有其它动作,如手动添加主机的arp条目,此处就不表明该用法了

例如:

[root@xuexi ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth0
192.168.100.70           ether   00:0c:29:71:81:64   C                     eth0
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth0
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth1
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth0

实在查看的音讯是/proc/net/arp文件中的内容。

[root@xuexi ~]# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth0
192.168.100.70   0x1         0x2         00:0c:29:71:81:64     *        eth0
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth0
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth1
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth0

[root@xuexi ~]# arp -d 192.168.100.70 -i eth0   # 删除arp缓存条目

arp命令一遍只好删除一条arp条文,要批量刨除或清空整个arp条目,使用ip
neigh flush命令。如:

[root@xuexi ~]# ip neigh flush all            # 清空所有
[root@xuexi ~]# ip neigh flush dev eth0     # 删除eth0上缓存的arp条目

#route del –net
10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

13.5.2 arping命令

arping用于发送arp请求报文,解析并获得指标地方的MAC。默许将首发送广播报文,收到回复后再发送单播报文,局域网内全部主机都能收到广播报文,但只有对象主机才会东山再起本身的MAC地址。

小心:发送arp请求报文实际上是另类的ping,所以能够探测目的是或不是存活,也要求和目的通讯,通信时目的主机上也会缓存本主机(即源地址)的arp条目。

语法:

arping [-fqbDU] [-c count] [-w timeout] [-I device] [-s source] destination
-f : 收到第一个reply就立即退出
-q : 安静模式,什么都不输出
-b : 只发送广播,不发送单播
-D : 地址冲突检测
-U : 主动更新邻居的arp缓存(Unsolicited ARP mode)
-c count : 发送多少个arp请求包后退出
-w timeout : 等待reply的超时时间
-I device : 使用哪个接口发送请求包。发送arp请求包接口的MAC地址将缓存在目标主机上
-s source : 指定arp请求报文中源地址,若发送的接口和源地址不同,则目标主机将缓存该地址和接口的MAC地址,而非该源地址所在接口的MAC地址
 destination : 向谁发送arp请求报文,即要获取该IP或主机名的MAC地址

例如:

(1).请求解析1九二.16捌.100.70主机的MAC地址

[root@xuexi ~]# arping -f 192.168.100.70

那将会发送广播报文,直到收到1九2.168.100.70的过来才脱离。

并且,1玖2.16八.100.70也会缓存本机的IP和MAC对应条目,由于那里未有点名请求报文的出殡和埋葬接口和源地址,所以发送报文时是基于路由表来采取接口和对相应接口地址的。

(二).钦点发送一个呼吁报文给1九二.168.十0.70就退出,发送报文的接口为eth一,并钦点请求报文中的源地址为本机eth0接口上的位置1玖贰.16八.拾0.5四

[root@xuexi ~]# arping -c 1 -I eth1 -s 192.168.100.54 192.168.100.70

发送那样的arp请求包,将会使得目的主机1九二.168.十0.70缓存本机的arp条目为”1玖2.16八.100.5肆MAC_eth一”,但实则,1九二.16八.十0.5四所在接口的MAC地址为MAC_eth0。

arping命令仅能兑现那种归纳的arp诈欺,越多的arp欺骗方法能够动用尤其的工具。

(3).探测对方主机是不是存活

譬如说发送四个探测报文,有复苏就注脚对方存活

[root@xuexi ~]# arping -c 4 -I eth0 192.168.100.2  
ARPING 192.168.100.2 from 192.168.100.54 eth0
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.593ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.930ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.868ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.844ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

看得出发送了两个探测报文,在那之中第二个报文是广播报文,并且吸收接纳了陆个回复。

#route del –net
192.168.1.0/24 eth1

13.6 ip命令

那是三个分外强大的指令,前边全体的互联网新闻展现和管制的授命,都得以由ip命令来代替完毕。它是一个严刻方式化的吩咐。

#route del default gw
192.168.1.1

一三.陆.一 获取ip命令的支援

先不难表达下ip命令的底子和拿到协理的方式。

[root@xuexi ~]# ip -h

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                   netns | l2tp | tcp_metrics | token }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec |
                    -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
                    -4 | -6 | -I | -D | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -a[ll] }

看得出命令非凡复杂,有成都百货上千options,还有很多object,各种Object又对应不一致的指令。但实在能用到的就多少个object:addr/route/neigh/link。

行使ip object help能够收获到该object的语法扶助。例如:

[root@xuexi ~]# ip addr help

在ip命令行下,任何object都能够写其姓名,也能够写其缩写名,例如address这几个object,能够简写为addr,也足以简写为3个字母a

[root@xuexi ~]# ip a help      # 等价于ip address help和ip addr help

尽管还有3个a起首的object为addrlabel。那时因为ip会从上述语法给出的object顺序以前向后万分,例如”ip
m”将非常到”ip maddr”,借使想相配其余,如addrlabel,则写长一些即可”ip
addrl”。

对于CentOS 陆,man
ip时会输出整个ip的鼎力相助文书档案,包蕴每一个object的授命和表达。在CentOS
7中,则要对各样object独立开始展览man,例如addr这些object。

[root@xuexi ~]# man ip-address

以下是具备Object的man列表。

[root@xuexi ~]# rpm -ql iproute | grep "man8/ip-"
/usr/share/man/man8/ip-address.8.gz
/usr/share/man/man8/ip-addrlabel.8.gz
/usr/share/man/man8/ip-l2tp.8.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/ip-maddress.8.gz
/usr/share/man/man8/ip-monitor.8.gz
/usr/share/man/man8/ip-mroute.8.gz
/usr/share/man/man8/ip-neighbour.8.gz
/usr/share/man/man8/ip-netconf.8.gz
/usr/share/man/man8/ip-netns.8.gz
/usr/share/man/man8/ip-ntable.8.gz
/usr/share/man/man8/ip-route.8.gz
/usr/share/man/man8/ip-rule.8.gz
/usr/share/man/man8/ip-tcp_metrics.8.gz
/usr/share/man/man8/ip-token.8.gz
/usr/share/man/man8/ip-tunnel.8.gz
/usr/share/man/man8/ip-xfrm.8.gz

对于一和二两点可利用上边包车型地铁语句完成:

Ifconfig eth0
172.16.19.71 netmask 255.255.255.0

13.6.2 ip addr

ip
addr用于管理网络设备上的ip地址,也得以查阅ip地址的质量音信。在老版本的Linux中,1块网卡上安装多个IP,那个IP称为别称IP,不过从CentOS
陆初阶,这几个IP称为secondary IP或slave IP,因为那一个IP本身也足以顺便属性。

(1).ip addr add/del

ip address { add | del } IFADDR dev STRING
IFADDR := PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label STRING ]

以add为例:
dev NAME:指定要设置IP地址的网卡
local ADDRESS (default):接口的IP地址。IP地址的格式依赖于是ipv4还是ipv6。对于ipv4而言,给定地址,可能还需要给定cidr的掩码位长度
broadcast ADDRESS:接口的广播地址
label NAME:为该接口的IP地址设置label名,label名称必须以网络接口名开头后接冒号,如eth0:X

del和add的参数相同,且dev是必须要给定的,其余的参数可选,因为del的时候是通配del,如果删除时有多个满足条件的条目,则删除第一个条目。

例如:

[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0
[root@xuexi ~]# ip addr add 192.168.100.35/24 dev eth1

此措施足够的地方不会在ifconfg命令中显得,ifconfg能捕捉到的是小名,所以能够为地方加上label,以让secondary被ifconfig查看到。例如:

[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0 label eth0:0

要去除ip,则不难的多,但必须钦点dev,且最佳也钦定cidr的掩码长度。

[root@xuexi ~]# ip addr del 192.168.100.45 dev eth0
[root@xuexi ~]# ip addr del 192.168.100.35/24 dev eth1

(2).ip addr show

即使也有多少个选取,不过觉得没什么用,直接ip addr
show就够了。因为ip命令能够缩写,所以能够写为

[root@xuexi ~]# ip a show
[root@xuexi ~]# ip a s
[root@xuexi ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:71:81:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.70/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::20c:29ff:fe71:8164/64 scope link
       valid_lft forever preferred_lft forever

(3).ip addr flush

用来批量刨除地址,该命令其实1二分惊险,七个十分大心就会损害无辜,所幸的是flush的时候不给定任何参数或许尚未别的条目能够包容上的时候将不执行flush动作,总而言之该命令要小心使用。同样也非得给定dev参数。

例如删除eth一上具备地点。

[root@xuexi ~]# ip a flush dev eth1

去除eth一上有着的secondary地址。

[root@xuexi ~]# ip a f secondary dev eth1

Route 0.0.0.0 gw
172.16.19.254

13.6.3 ip route

该命令维护和查看内核中的路由表。

(1).ip route add/del/change/append/replace

语法格式为:

ip route { add | del | change | append | replace } dest[/cidr_mask] [ via ADDRESS ] [ dev STRING ]

里头dest为指标地址,能够是主机地址、网段地址,1般在地方后都会带上cidr格式的掩码长度,不带时私下认可为三十4个人长度。借使dest为”0/0″大概写为”default”,则意味着暗中认可路由。

譬如说添加/修改/替换普通路由:

[root@xuexi ~]# ip route add/change/replace 172.16.10.0/24 via 192.168.10.20

添加/修改/替换暗中认可路由:

[root@xuexi ~]# ip route add/change/replace default via 192.168.10.20
[root@xuexi ~]# ip route add/change/replace 0/0 via 192.168.100.2

剔除某路由:

[root@xuexi ~]# ip route del 172.16.10.0/24
[root@xuexi ~]# ip route del default   # 删除默认路由

(2).ip route show

列出路由表。

语法格式为:

ip route show [to [ root | match | exact ] ADDR_pattern ] [ via ADDR ]

当中to关键字是暗中认可关键字,用来相称路由的靶子地址。其后方可跟上修饰符root/match/exact,exact为暗许修饰符,表示精确匹配掩码位长度,root修饰符表示格外的掩码位长度当先或等于ADDENCORE_pattern给定的掩码位长度,match修饰符相配短于或等于ADDKuga_pattern掩码位长度。例如”to
match
1陆.0/1陆”将能协作到”1陆.0/1陆”、”16/八”和”0/0″,但却无法同盟”16.1/1陆”和”1六.0/24″以及”1陆.0.四分之二4″,而”to
root 16.0/1六”将能相配”1陆.0/二四”和”1陆.0.百分之五十四”。

via是依据下1跳的情势来列出路由条目。

例如:

[root@xuexi ~]# ip route show | column -t                   
default           via  192.168.100.2  dev    eth0    proto  static  metric  100
172.16.10.0/24    dev  eth1           proto  kernel  scope  link    src     172.16.10.20    metric  100
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20   metric  100
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20   metric  100
192.168.100.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.100.54  metric  100
192.168.100.0/24  dev  eth1           proto  kernel  scope  link    src     192.168.100.74  metric  101

[root@xuexi ~]# ip route show to match 192.168.10/24 | column -t
default          via  192.168.100.2  dev    eth0    proto  static  metric  100
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20  metric  100

[root@xuexi ~]# ip route show to match 192.168/24 | column -t     
default  via  192.168.100.2  dev  eth0  proto  static  metric  100

[root@xuexi ~]# ip route show to root 192.168/16 | column -t
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20   metric  100
192.168.100.0/24  dev  eth0  proto  kernel  scope  link  src  192.168.100.54  metric  100
192.168.100.0/24  dev  eth1  proto  kernel  scope  link  src  192.168.100.74  metric  101

实则无需那么花哨,简简单单的”ip r”多造福。

(3).ip route flush

批量剔除路由表条目。参数和ip route show的参数一样。

譬如删除由eth1出去的路由条目。

[root@xuexi ~]# ip route flush eth1

删去下一跳为1玖2.16八.十0.70的路由条目。

[root@xuexi ~]# ip r flush via 192.168.100.70

剔除目的为1九二.16八.0.0/16网段的路由

[root@xuexi ~]# ip route flush 192.168/16

(4).ip route save/restore

用于保存当前的路由表以及恢复生机路由表。保存路由表时,路由表将以2进制裸数据的格式输出,也正是看不懂的2进制文件。恢复生机路由表时,供给配备的安装和保存路由表时是壹样的,恢复生机时已存在于路由表中的路由条目将被忽略。

比如当前路由表音讯如下:

[root@xuexi ~]# ip r
default via 192.168.100.2 dev eth0  proto static  metric 100
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20  metric 100
192.168.100.0/24 dev eth0  proto kernel  scope link  src 192.168.100.54  metric 100
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

保存当前路由表。

[root@xuexi ~]# ip route save > /tmp/route.txt

去除几条路由表。

[root@xuexi ~]# ip route flush dev eth0

[root@xuexi ~]# ip r
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

平复路由表。

[root@xuexi ~]# ip route restore < /tmp/route.txt

Service network
restart

13.6.4 ip link

link代表link
layer的意趣,即链路层。该命令用于管理和查阅网络接口,甚至足以添加虚拟互连网接口,将互连网接口分组举办管制。

(1).ip link set

ip link set DEVICE  { up | down | arp { on | off } | name NEWNAME | address LLADDR }  

选项说明:
dev DEVICE:指定要操作的设备名
up and down:启动或停用该设备
arp on or arp off:启用或禁用该设备的arp协议
name NAME:修改指定设备的名称,建议不要在该接口处于运行状态或已分配IP地址时重命名
address LLADDRESS:设置指定接口的MAC地址

例如,禁用eth1网卡。

[root@xuexi ~]# ip link set eth1 down

实际等价于:

[root@xuexi ~]# ifconfig eth1 down

修改网卡eth1的MAC地址。

[root@xuexi ~]# ip link set eth1 address 00:0c:29:f3:33:77

(2).ip link show

语法格式:

ip [ -s | -h ] link show [dev DEV]  

选项说明:
-s:将显示各网络接口上的流量统计信息
-h:以人类可读的方式显式,即单位转换。注:"-h"在CentOS 7上才支持。

例如:

[root@xuexi ~]# ip -s -h link show  dev eth0  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f7:43:77 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast  
    13.7M      20.0k    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    1.59M      9.97k    0       0       0       0 

 

归来连串小说大纲:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

三、
traceroute命令突显数据包到达指标主机所通过的路由

转发请评释出处:http://www.cnblogs.com/f-ck-need-u/p/7074594.html

 

例如:

#traceroute
www.sina.com.cn

4、
ping命令来测试互联网的连通性

例如:

#ping www.sina.com.cn

#ping –c 4
192.168.1.12

5、
netstat命令来展现互联网状态音信

       
重要用途有:察看互连网的总是情状(仅对TCP有效,对UDP无效)、检查接口的配置音信、检查路由表、取得统

计新闻。不带参数时表示显示获得的TCP、UDP端口状态,因为UDP为无连接的协议,所以状态对其无意义。常见的

景况有:ESTABLISHED、LISTENING、TIME-WAIT,分别代表处于连接情况、等待连接、关闭连接。netstat程序有

多少个参数选项,用户能够用来查阅互连网上不一致方面的音信,其参数表明如下:

-a:选项为体现全体配置的接口

-i:选项为展现接口总括新闻

-n:选项为以数字情势体现IP地址

-r:选项显示内核路由表

-s:
选项表示计数器的值。

例如:

(1)
展现互连网接口状态信息。

#netstat –i

(二)
彰显全部监察和控制中的服务器的Socket和正选取Socket的次第音讯。

#netstat –lpe

(叁)
展现内核路由表音信。

#netstat –r

#netstat –nr

(4)
突显TCP/UDP传输协议的连年意况。

#netstat –t

#netstat –u

陆、
hostname更改主机名

例如;

#hostname myhost

七、
arp命令来陈设并查看arp缓存

例如:

(1) 查看arp缓存。

#arp

(2)
添加三个IP地址和MAC地址的照应记录。

#arp –s 192.168.33.15
00:60:08:27:CE:B2

(三)
删除2个IP地址和MAC地址的附和缓存记录。

#arp –d192.168.33.15

    捌.
ifup命令用于运维钦命的非活动网卡设备

       
该命令与ifconfig
up命令相似。Ifdown命令用于停止钦赐的活动网卡设备,该命令与ifconfig
down命令成效相

似。这四个指令的格式如下:

ifup 网卡设备名

ifdown   网卡设备名

九.
nslookup查询DNS数据库的用户级命令

exit
命令:退出nslookup命令。

     
lserver命令:查找钦命的域名服务器并将其设置为 私下认可的域名服务器。

     
server命令:和lserver相似,解析另壹台域名服务
器并将其安装为私下认可的服务器,差异在于本命令使 用当前的默

认服务器来分析。

     
set命令:修改工作参数,它也是nslookup中最常用
的下令,其可使用的劳作参数如nslookup程序的set命令中的工作参数.

干活参数表达:            set
class   设置查询的种类,一般意况下为I nternet。

                   
                    set de bug   设置调节和测试方式/set
nodebug:设置为非调试格局

                   
                    set d2    设置详细调试方式。/set
nod2:设置为非详细    调节和测试形式。

set [no]defname  
设置为defname,会在具备未有加“o“的名字后   
自动抬高暗中同意的域名。它是暗许的艺术。

set domain  
设置暗中认可的域名。

set port   
DNS的暗中同意端口为伍三,用本命令可以设置其    他端口,1般用于调节和测试。

set q(querytype)  
改变查询的新闻的连串。默许的种类为A纪录

set recurse  
设置查询类型为递归;

set retry   
设置重试的次数。私下认可的值为四。

set root   
设置暗中同意的根服务器。

set timeout  
设置等待答复的范围时间(单位为秒),超
出即为超时,要是还是能重试,就会将长超    时值加倍,重

新查询。暗中认可的超时值为五秒。

10.
tcpdump命令用于监视TCP/IP连接并直接读取数据链路层的数据包的尾部音信

       
用户能够内定哪些数据包被监视、哪些控制要呈现格式。例如要监视全体Ethernet上来回的通讯,执行下述命

令:

#   tcpdump -i eth0

事实上,tcpdump命令的格式为:

tcpdump [ -选项] [
-c 数量 ] [ -F 文件名 ][ -i 互联网接口 ] [ -r 文件

名] [ -s snaplen
]

          [
-T 类型 ] [ -w 文件名 ] [表达式 ]

tcpdump命令中的选项参数表达如xia所示。Tcpdump命令中的表明式是一个正则表明式,tcpdump利用它看成过滤报

文的基准,假诺二个报文满意表达式的基准,则这几个报文将会被捕获。假若未有付诸任何条件,则网络上具有的信

息包将会被缴械。

tcpdump命令的选料介绍: 参数选项   表达

        -a
将互联网地址和播发地址转变成名字;

        -d
将配合音信包的代码以人们能够掌握的汇编格式给出;

        -dd
将格外音讯包的代码以c语言程序段的格式给出;

        -ddd
将10分音信包的代码以十进制的款型提交;

         -e
在输出游打字与印刷出多少链路层的头顶消息;

        -f
将表面的Internet地址以数字的形式打字与印刷出来;

        -l
使标准输出变为缓冲行情势;

        -n
不把互联网地址转换来名字;

        -t
在输出的每一行不打字与印刷时间戳;

        -v
输出多个有些详细的新闻,例如在ip包中能够回顾ttl和服务类型的消息;

        -vv
输出详细的报文消息;

        -c
在接到内定的包的多寡后,tcpdump就会结束;

        -F
从钦点的公文中读取表明式,忽略其余的表明式;

        -I
钦命监听的互联网接口;

        -r
从钦赐的文书中读取包(这一个包一般通过-w选项爆发);

        – w
直接将包写入文件中,并不分析和打字与印刷出来;

        -T
将监听到的包直接表达为钦命的类型的报文,常见的门类有

        rpc
(远程进程调用)和snmp(不难网络管理协议;)

1一.
互联网部署文件及程序

1、互连网设置/etc/sysconfig/network  
该公文用来钦赐服务器上的互联网安插音讯,包涵了决定和网络有关的文书和医生和医护人员

澳门金沙国际 ,程序的作为的参数。

       
/etc/rc.d/init.d/network restart

二、端口号和劳动器名之间的映射/etc/services

叁、配置名字解析器/etc/host.conf

4、配置DNS客户/etc/resolv.conf

五、使用netconfig程序配置互连网

相关文章