博文二十四:Linux网络属性配置之ifcfg家族命令

一、简述

    ifcfg家族主要命令:ifconfig(配置IP,NETMASK),route(配置路由),netstat(状态及统计数据查看)。

二、使用

    1.ifconfig命令

        配置网络接口

        A)格式 
~]# ifconfig [接口] [down up -allmulti -arp -promisc] [add<地址>] [del<地址>] [<硬件地址>] [media<网络媒介类型>] [mem_start<内存地址>] [metric<数目>] [mtu<字节>] [netmask<子网掩码>] [tunnel<地址>] [-broadcast<地址>] [-pointopoint<地址>]
  [接口] # 网络设备的名称。
  down # 关闭指定的网络设备。
  up # 启动指定的网络设备。
  arp # 打开指定接口上使用的ARP协议。前面加上一个负号(-arp)用于关闭该选项。
  allmuti # 启动指定接口的无区别模式。前面加上一个负号(-allmuti)用于关闭该选项。
  promisc # 启动指定网络设备的promiscuous(混杂模式)模式。前面加上一个负号(-promisc)用于关闭该选项。
  add <地址> # 设置网络设备IPv6的IP地址。
  del <地址> # 删除网络设备IPv6的IP地址。
  media <网络媒介类型> # 设置网络设备的媒介类型。
  mem_start <内存地址> # 设置网络设备在主内存所占用的起始地址。
  metric <数目> # 指定在计算数据包的转送次数时,所要加上的数目。
  mtu <字节> # 设置网络设备的MTU(最大传输单元)。
  netmask <子网掩码> # 设置网络设备的子网掩码。
  tunnel <地址> # 建立IPv4与IPv6之间的隧道通信地址。
  -broadcast <地址> # 将要送往指定地址的数据包当成广播数据包来处理。
  -pointopoint <地址> # 与指定地址的网络设备建立直接连线,此模式具有保密功能。

        混杂模式:时候为嗅探到网络上的数据,需要将网卡设置到混杂模式,进入该模式后会将网络上的数据一并抓获。

        B)案例
[root@wybaron_host1015 ~]# ifconfig # 显示当前所有启动的网络接口
[root@wybaron_host1015 ~]# ifconfig -a # 显示所有网络接口(无论开启或关闭的状态)
[root@wybaron_host1015 ~]# ifconfig 接口 up # 开启“接口”
[root@wybaron_host1015 ~]# ifconfig 接口 down # 关闭“接口”
[root@localhost ~]# ifconfig 接口 192.168.20.4 # 设置“接口”的ip地址
[root@localhost ~]# ifconfig 接口 192.168.20.4 netmask 255.255.255.0 # 设置“接口”的ip地址、子网掩码
[root@localhost ~]# ifconfig 接口 192.168.20.4 netmask 255.255.255.0 broadcast 192.168.20.255# 设置“接口”的ip地址、子网掩码、广播地址
[root@wybaron_host1015 ~]# ifconfig 接口 mtu # # 设置能通过的最大数据包大小为#(默认为1500)bytes
[root@wybaron_host1015 ~]# ifconfig 接口 hw ether xx:xx:xx:xx:xx:xx:xx # 修改“接口”的MAC地址为“xx:xx:xx:xx:xx:xx:xx”

# 同一网卡添加多个ip地址
[root@wybaron_host1015 ~]# ifconfig ens36:0 192.168.20.4 netmask 255.255.255.0  broadcast 192.168.20.255
[root@wybaron_host1015 ~]# ifconfig ens36:1 172.30.16.4 netmask 255.255.0.0  broadcast 172.30.255.255

    2.route命令

    查看或修改路由表,主要设置的是静态路由,用于实现两个不同子网之间的通信,需要一台连接两个子网网络的路由器,或者同时定位于两个网络的网关来实现。

    直接在命令行模式下使用route命令添加的路由不会永久保存,网卡或机器重启后,通过route命令设置的路由就失效了,永久有效需要在文件中进行修改和保存。

[root@wybaron_host1015 ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
        A)格式
route(选项)(参数)
 选项
  -A:设置地址类型;
  -C:打印将Linux核心的路由缓存;
  -v:详细信息模式;
  -n:不执行DNS反向查找,直接显示数字形式的IP地址;
  -e:netstat格式显示路由表;
  -net:到一个网络的路由表;
  -host:到一个主机的路由表。
 参数
  add:增加指定的路由记录;
  del:删除指定的路由记录;
  target:目的网络或目的主机;
  gw:设置默认网关;
  mss #:设置TCP的最大区块长度(MSS),单位MB;
  window #:指定通过路由表的TCP连接的TCP窗口大小;
  dev:路由记录所表示的网络接口。
        B)案例
# 显示当前路由
[root@wybaron_host1015 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens33
172.30.0.0      0.0.0.0         255.255.0.0     U     0      0        0 ens36
192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 ens36

[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.100.1    0.0.0.0         UG    100    0        0 ens33
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens33
172.30.0.0      0.0.0.0         255.255.0.0     U     0      0        0 ens36
192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 ens36

# 路由表各项释义
Destination 目标网络或目标主机。
Gateway 网关地址或'*'(如未设)。
Genmask 目标网络的子网掩码;'255.255.255.255'为主机路由,'0.0.0.0'为默认路由,其它一般为网络路由。
Flags  可能出现的标志有:
    U (route is up) 路由正常
    H (target is a host) 主机路由(命令使用时为:-host)
    G (use gateway) 使用网关的间接路由(命令使用时为:-net)
    R (reinstate route for dynamic routing) 为动态选路恢复路由
    D (dynamically installed by daemon or redirect) 该路由由选路进程或重定向动态创建
    M (modified from routing daemon or rederict) 该路由已由选路进程或重定向修改
    ! (reject route) 阻塞路由(命令使用时为:reject)
Metric 通向目标的距离(通常以跳来计算)。新内核不使用此概念,而选路进程可能会用。
Ref 使用此路由的活动进程个数(Linux内核并不使用)。
Use 查找此路由的次数。根据-F和-C的使用,此数值是路由缓存的损失数或采样数。
Iface 使用此路由发送分组的接口。
# 添加一条拒绝路由,目的是10.0.0.0网络的均被拒绝
[root@wybaron_host1015 ~]# route add -net 10.0.0.0 netmask 255.0.0.0 reject
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
10.0.0.0        -               255.0.0.0       !     0      -        0 -
...
# 添加一条主机路由(目的为主机192.168.2.3的都必须经由172.30.16.1到达)
[root@wybaron_host1015 ~]# route add -host 192.168.2.3 gw 172.30.16.1 dev ens36
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.2.3     172.30.16.1     255.255.255.255 UGH   0      0        0 ens36
...

# 添加一条网络路由(目的为网络192.168.0.0的都必须经由172.30.16.1)
[root@wybaron_host1015 ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.30.16.1 dev ens36
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.0.0     172.30.16.1     255.255.255.0   UG    0      0        0 ens36
...
# 添加一条默认路由(当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口172.30.16.1)
[root@wybaron_host1015 ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.30.16.1
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.30.16.1     0.0.0.0         UG    0      0        0 ens36
...
[root@wybaron_host1015 ~]# route add default gw 172.30.16.2
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.30.16.2     0.0.0.0         UG    0      0        0 ens36
...
# 删除以上建立的拒绝路由、主机路由、网络路由、默认路由
[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.30.16.2     0.0.0.0         UG    0      0        0 ens36
0.0.0.0         172.30.16.1     0.0.0.0         UG    0      0        0 ens36
0.0.0.0         172.16.100.1    0.0.0.0         UG    100    0        0 ens33
10.0.0.0        -               255.0.0.0       !     0      -        0 -
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens33
172.30.0.0      0.0.0.0         255.255.0.0     U     0      0        0 ens36
172.30.0.0      0.0.0.0         255.255.0.0     U     101    0        0 ens36
192.168.0.0     172.30.16.1     255.255.255.0   UG    0      0        0 ens36
192.168.2.3     172.30.16.1     255.255.255.255 UGH   0      0        0 ens36


# 删除拒绝路由
[root@wybaron_host1015 ~]# route del -net 10.0.0.0 netmask 255.0.0.0 reject 
# 删除主机路由
[root@wybaron_host1015 ~]# route del -host 192.168.2.3
# 删除网络路由
[root@wybaron_host1015 ~]# route del -net 192.168.0.0 gw 172.30.16.1 netmask 255.255.255.0
# 删除默认路由
[root@wybaron_host1015 ~]# route del default gw 172.30.16.1
[root@wybaron_host1015 ~]# route del default gw 172.30.16.2

[root@wybaron_host1015 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.100.1    0.0.0.0         UG    100    0        0 ens33
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens33
172.30.0.0      0.0.0.0         255.255.0.0     U     0      0        0 ens36
172.30.0.0      0.0.0.0         255.255.0.0     U     101    0        0 ens36

   3.netstat命令

    显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组。

        A)格式
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p] 
--tcp|-t tcp协议相关
--udp|-u udp协议相关
--raw|-w raw socket相关
--listening|-l 处于监听状态
--all|-a 所有状态
--numeric|-n 以数字显示IP和端口
--extend|-e[--extend|-e] 扩展格式
--program|-p 显示相关进程及PID

# 常用组合
 -tan 所有tcp端口
 -uan 所有udp端口
 -tnl 处于监听的tcp端口
 -unl 处于监听的udp端口

# 查看路由表
netstat {--route|-r} [--numeric|-n]
 {--route|-r} 显示内核路由表
 --numeric|-n 数字格式(输出更快)

# 查看接口统计数据
netstat {--interfaces|-i|I} [iface] [--all|-a] [--extend|-e[--extend|-e]] [--program|-p] [--numeric|-n] 
 {--interfaces|-i|I} 显示所有网络接口列表
     --interfaces=iface 显示指定的网络接口信息列表
 --extend|-e[--extend|-e] 显示网卡信息(类似于“ifconfig”命令)
 --program|-p --numeric|-n --all|-a 等效于“-i”
  
        B)案例
# 列出所有正在监听的tcp端口
[root@wybaron_host1015 ~]# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:pptp            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
tcp6       0      0 [::]:http               [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN 

# 列出所有正在监听的udp端口
[root@wybaron_host1015 ~]# netstat -ul
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:787             0.0.0.0:*                          
udp        0      0 0.0.0.0:sunrpc          0.0.0.0:*                          
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:787                [::]:*                             
udp6       0      0 [::]:sunrpc             [::]:*        

# 列出所有监听的UNIX端口
[root@wybaron_host1015 ~]# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     13330    /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     22489    private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     22492    private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     22495    private/relay
unix  2      [ ACC ]     STREAM     LISTENING     18715    /var/run/vmware/guestServicePipe
unix  2      [ ACC ]     STREAM     LISTENING     8730     /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     22501    private/error
...

# 显示所有TCP端口的统计信息
[root@wybaron_host1015 ~]# netstat -ts
IcmpMsg:
    InType0: 8
    InType3: 30
    OutType3: 62
    OutType8: 8
Tcp:
    90 active connections openings
    26 passive connection openings
    0 failed connection attempts
...
UdpLite:
TcpExt:
    84 TCP sockets finished time wait in fast timer
...
IpExt:
    InNoRoutes: 16
   ...

# 显示所有UDP端口的统计信息
[root@wybaron_host1015 ~]# netstat -us
IcmpMsg:
    InType0: 8
    InType3: 30
    OutType3: 62
    OutType8: 8
Udp:
    932 packets received
    31 packets to unknown port received.
    0 packet receive errors
    974 packets sent
    0 receive buffer errors
    0 send buffer errors
UdpLite:
IpExt:
    InNoRoutes: 16
    InMcastPkts: 1565
    InBcastPkts: 314051
    InOctets: 154751957
    OutOctets: 6957615
    InMcastOctets: 50080
    InBcastOctets: 28766052
    InNoECTPkts: 438034

    4.DNS设置

     4.1)配置文件与格式
# 配置文件
[root@wybaron_host1015 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 61.139.2.69
nameserver 8.8.8.8

# 格式
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
    4.2)解析方式

    FQDN(Fully Qualified Domain Name,即是域名)

# 案例:
   域名wybaron.com。若有一台主机名为web,则可以使用web.wybaron.com得到这个主机IP。若还有两台提供邮件和OA服务的主机cmail,oa,则这时候可以用以下FQDN:cmail.wybaron.com,oa.wybaron.com得到对应主机的IP。

# Linux上查看相关信息
  hostname, 查看主机名
  hostname -f 查看FQDN
  dnsdomainname 查看域

    A)正向解析(FQDN-->IP) 

~]# dig -t A FQDN
~]# host -t A FQDN

-t Type 指定要查询的记录类型。有效类型为:
   A 主机的网际地址 
   CNAME 别名的规范名称 
   HINFO 主机 CPU与操作系统类型 
   KEY 安全密钥记录 
   MINFO 邮箱或邮件列表信息 
   MX 邮件交换器 
   NS 指定范围的名称服务器 
   PTR 如果查询的是一个网际地址则为主机名;否则,为其他信息的指针 
   SIG 签名记录 
   SOA 域的"授权开始"信息 
   TXT 文本信息 
   UINFO 用户信息 
   WKS 所支持的众所周知的服务

    B)反向解析(IP-->FQDN)

~]# dig -x IP
~]# host -t PTR IP

-t Type 指定要查询的记录类型。有效类型为:
   A 主机的网际地址 
   CNAME 别名的规范名称 
   HINFO 主机 CPU与操作系统类型 
   KEY 安全密钥记录 
   MINFO 邮箱或邮件列表信息 
   MX 邮件交换器 
   NS 指定范围的名称服务器 
   PTR 如果查询的是一个网际地址则为主机名;否则,为其他信息的指针 
   SIG 签名记录 
   SOA 域的"授权开始"信息 
   TXT 文本信息 
   UINFO 用户信息 
   WKS 所支持的众所周知的服务

    5.ifup/ifdown命令

    用于激活/禁用指定的网络接口。

ifup(参数)
# 参数
 网络接口:要激活的网络接口。
# 实例
 [root@wybaron_host1015 ~]# ifup ens36
 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/15)0

ifdown(参数)
# 参数
 网络接口:要禁用的网络接口。
# 实例
 [root@wybaron_host1015 ~]# ifdown ens36
 成功断开设备 'ens36'。

三、补充

    CentOS 6、CentOS 7网络接口命名规则

# CentOS 6及6以前的版本
  网卡命名方式会根据情况有所改变,不是唯一的、固定的。网络接口使用连续号码命名:eth0、eth1等。当增加或删除网卡时,名称可能会发生变化。
# CentOS 7(一致性命名规则)
  方式一: 如果从BIOS中能够取到可用的,板载网卡的索引号,则使用这个索引号命名,例如: eno1,如不能则尝试方式二
  方式二: 如果从BIOS中能够取到可以用的,网卡所在的PCI-E热插拔插槽的索引号,则使用这个索引号命名,例如: ens1,如不能则尝试方式三
  方式三:如果能拿到设备所连接的物理位置信息,则使用这个信息命名,例如:enp2s0,如不能则尝试方式五
  方式五:传统的kernel命名方法,例如: eth0,这种命名方法的结果不可预知的,即可能第二块网卡对应eth0,第一块网卡对应eth1。
  方式四:使用网卡的MAC地址来命名,这个方法一般不使用。

####################################################
# CentOS 7中有如下约定
## enX(X常见有下面3种类型):
#### o:主板半载网卡,集成设备的设备索引号
#### p:独立网卡,PCI网卡
#### s:热插拔网卡,USB之类
#### nnn(数字):MAC地址+主板信息计算得出的唯一序列
####################################################

    ifocnfig各项的解释

[root@wybaron_host1015 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.22.4  netmask 255.255.0.0  broadcast 172.16.255.255
        inet6 fe80::5de2:9ce2:316e:50ba  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d8:cf:8e  txqueuelen 1000  (Ethernet)
        RX packets 5441478  bytes 461474503 (440.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 34766  bytes 8846983 (8.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# 网卡名称
ens33
# UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节。
flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
# IPV4地址、子网掩码、广播地址
inet 172.16.22.4 netmask 255.255.0.0 broadcast 172.16.255.255
# IPV6地址相关
inet6 fe80::5de2:9ce2:316e:50ba:
prefixlen 64  scopeid 0x20<link>
# 网卡地址
ether 00:0c:29:d8:cf:8e  
# 用来传输数据的缓冲区的储存长度
txqueuelen 1000  (Ethernet)
# RX 表示网络由启动到目前为止的数据包接收情况,packets 代表数据包数、errors 代表数据包发生错误的数量、dropped 代表数据包由于有问题而遭丢弃的数量等;RX Bytes:传送的字节总量
RX packets 5441478  bytes 461474503 (440.0 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
# TX 表示网络由启动到目前为止的传送情况,packets 代表数据包数、errors 代表数据包发生错误的数量、dropped 代表数据包由于有问题而遭丢弃的数量等;TX Bytes:接收的字节总量;collisions:代表数据包碰撞的情况,如果发生太多次,表示网络状况不太好。
TX packets 34766  bytes 8846983 (8.4 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    参考

        https://www.cnblogs.com/zyd112/p/8143464.html

转载于:https://my.oschina.net/comics/blog/2247112

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值