CentOS6与CentOS7网络管理

一、网络配置命令:

成都创新互联公司专业为企业提供门源网站建设、门源做网站、门源网站设计、门源网站制作等企业网站建设、网页设计与制作、门源企业网站模板建站服务,10余年门源做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1、ifconfig(配置网络接口命令)

命令格式:ifconfig [interface]

   ifconfig interface [aftype] options | address …

命令例子:

    #查看所有网卡接口的配置信息:ifconfig [-a]

    ~]# ifconfig

#查看某网卡接口配置信息:ifconfig IFACE                       

    ~]# ifconfig eth0

#开启或关闭某网卡接口:ifconfig IFACE [up|down]

    ~]# ifconfig eth0 down

# 配置网卡接口IP地址:

    ifconfig IFACE IP/mask [up]/ifconfig IFACE IP netmask MASK

   ~]# ifconfig eth0:0 1.1.1.1/32 up

# 启用或禁用网卡混杂模式:ifconfig IFACE  [-]promisc

   ~]# ifconfig eth0 -promisc # 禁用

 

2、route(路由管理命令)

命令格式:route [-CFvnee]

 route  add/del  [-net|-host] target [netmask Nm] [gw Gw]                         [metric N]  [[dev] If]

命令用法:

 #查看: 

~]# route -n

 #添加: 

~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0     # 主机路由
~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0  # 网段路由
~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0     # 网段路由
~]# route add default gw 172.16.0.1   # 默认路由

 #删除:

 ~]#  route del dev eth0
 ~]#  route del -host 192.168.1.3
 ~]#  route del -net 192.168.0.0 netmask 255.255.255.0

 

3、DNS服务器指定

   配置文件:/etc/resolv.conf

    添加:

   nameserver DNS_SERVER_IP1

  nameserver DNS_SERVER_IP2

   nameserver DNS_SERVER_IP3

 

4、netstat(网络连接状态显示命令)

命令格式: netstat [OPTION]                                                        

选项:-t: tcp协议相关

      -u: udp协议相关

      -w: raw socket相关

      -l: 处于监听状态

      -a: 所有状态

      -n: 以数字显示IP和端口;

      -e:扩展格式(显示User及Inode )

      -p: 显示相关进程及PID

 

常用组合:

        -tan, -uan, -tnl, -unl

显示路由表:

     netstat {--route|-r} [--numeric|-n]

     -r: 显示内核路由表(显示)

     -n: 数字格式

 -e:扩展格式(显示Metric)

 

显示接口统计数据:

     netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e]

              [--program|-p] [--numeric|-n]

     # 显示所有接口的统计信息:netstat -I

~]# netstat -i

     # 显示特定接口的统计信息:netstat -IIFACE 

      ~]# netstat -Ieth0

 

TCP的常见状态:

LISTEN: 监听

ESTABLISHED:已建立的连接

FIN_WAIT_1:主动关闭,已发出关闭请求,等待对方确认

FIN_WAIT_2:主动关闭,已收到对方关闭传输连接确认,等待对方发送关闭连接请求

SYN_SENT:发送SYN请求,等待对方确认

SYN_RECV:收到一个传输请求,但尚未确认

CLOSED:连接关闭状态

 

5、ss(网络连接状态显示命令,类似netstat,更灵活速度更快)

格式:ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x:unix sock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

 

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

EXPRESSION:

dport =

sport =

 ~]# ss -o state established '( dport = :ssh or sport = :ssh )'

常用组合:

-tan, -tanl, -tanlp, -uan

 

二、配置Linux网络属性:ip命令

命令格式:ip [ OPTIONS ] OBJECT { COMMAND | help }

      OBJECT := { link | addr | route }

link:网络设备属性管理

#显示接口属性: ip link show [ DEVICE ][up|down] 

  ~]#  ip link show eth0
  ~]#  ip link show up     # 显示激活状态的接口

#设置接口属性:  

ip link set DEVICE [{ up|down }|[ mtu MTU ]|[ promisc { on|off }]]  

  ~]# ip link set eth0 up mtu 1500 promisc on

addr:IP地址管理

ip addr { add | del } IFADDR dev STRING

IFADDR可用选项 :

[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域(global: 全局可用,link: 仅链接可用;host: 本机可用)

[broadcast ADDRESS]:指明广播地址

#添加IP

   ~]# ip addr add label eth0:0  2.2.2.2/24 dev eth0

#删除IP

~]# ip addr del label eth0:0 2.2.2.2/24 dev eth0

 

ip addr {show |flush }[dev DEVICE] [label PATTERN][primary and secondary]

#显示指定设备IP信息

    ~]# ip addr show label eth0:0 dev eth0  #显示网卡设备别名的IP信息

#清空指定设备的IP信息

   ~]# ip addr show label eth0:0 dev eth0

 

route:路由管理

ip route{ add | del | change} TARGET via GW dev IFACE src SOURCE_IP

  TARGET:主机路由:IP;网络路由:NETWORK/MASK

    #添加主机路由

   ~]# ip route 1.1.1.1 via 192.168.52.2 dev eth0

#添加网段路由

~]# ip route add 2.2.2.0/24 via 192.168.52.2 dev eth0 src 192.168.52.20     # src指定源IP

#添加网关

~]#ip route add default via GW dev IFACE

#删除路由:

~]# ip route del 1.1.1.1 via 192.168.52.2 dev eth0

#显示路由信息:ip route show

#清空指定设备的路由列表:ip route flush dev IFACE

 

三、Linux网络属性配置: 修改配置文件

IP、MASK、GW、DNS相关配置文件:

    /etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件:

    /etc/sysconfig/network-scripts/route-IFACE

1、设定网卡接口参数

    /etc/sysconfig/network-scripts/ifcfg-IFACE:

DEVICE:此配置文件应用到的设备;

HWADDR:对应的设备的MAC地址;

BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;

NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;

ONBOOT:在系统引导时是否激活此设备;

TYPE:接口类型;常见有的Ethernet, Bridge;

UUID:设备的惟一标识;

 

IPADDR:指明IP地址;

NETMASK:子网掩码;

GATEWAY: 默认网关;

DNS1:第一个DNS服务器指向;

DNS2:第二个DNS服务器指向;

 

USERCTL:普通用户是否可控制此设备;

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖

  至/etc/resolv.conf文件中;

 

2、在配置文件中定义路由

    配置文件:/etc/sysconfig/network-scripts/route-IFACE

两种风格:

(1) TARGET via GW

 

(2) 每三行定义一条路由

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

 

3、给网卡配置多地址:

(1) ifconfig: ifconfig IFACE_ALIAS

(2) ip:ip addr add

(3) 配置文件:ifcfg-IFACE_ALIAS

     DEVICE=IFACE_ALIAS

 

注意:网关别名不能使用dhcp协议引导;

 

4、Linux网络属性配置的tui(text user interface)

   命令:system-config-network-tui或setup

   注意:记得重启网络服务方能生效;

 

5、配置当前主机的主机名

临时生效:hostname [HOSTNAME]

永久生效:/etc/sysconfig/network

添加:HOSTNAME= your hostname

 

6、网络接口识别并命名相关的udev配置文件:

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

卸载网卡驱动:modprobe -r e1000

装载网卡驱动:modprobe e1000

 

 

四、CentOS 7网络属性配置

(1) 网卡命名机制

systemd对网络设备的命名方式:

(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1;

(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;

(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;

(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;

(e) 上述均不可用时,则使用传统命名机制;

上述命名机制中,有的需要biosdevname程序的参与。

 

(2) 名称组成格式

en: ethernet

wl: wlan

ww: wwan

 

名称类型:

o: 集成设备的设备索引号;

s: 扩展槽的索引号;

x: 基于MAC地址的命名;

ps: enp2s1

 

(3)网卡设备的命名过程:

第一步:

udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

第二步:

biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:

通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description

ID_NET_NAME_ONBOARD, ID_NET_NAME_SLOT, ID_NET_NAME_PATH

 

回归传统命名方式:

第一步:

编辑/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

第二步:

为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

第三步:

重启系统

 

(4)地址配置工具:nmcli

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

如何修改IP地址等属性:

Usage: nmcli connection modify IFACE [+|-]setting.property value

setting.property:

 ipv4.addresses

 ipv4.gateway

 ipv4.dns1

 ipv4.method

         

#修改IP:           
[root@centos7 ~]# nmcli con modify eth0 ipv4.addresses 192.168.52.7/24            
# 增加IP:
[root@centos7 ~]# nmcli con modify eth0 +ipv4.addresses 1.1.1.1/24
# 删减IP:
[root@centos7 ~]# nmcli con modify eth0 -ipv4.addresses 1.1.1.1/24
# 修改网关:
[root@centos7 ~]# nmcli con modify eth0  ipv4.gateway 192.168.52.2
# 修改DNS
[root@centos7 ~]# nmcli con modify eth0 ipv4.dns  8.8.8.8

以上编辑操作都需要重启生效:

[root@centos7 ~]# nmcli con down eth0;nmcli con up eth0     # 重启生效

    Usage: nmcli device { COMMAND | help }

COMMAND := { status|show|connect|disconnect|delete|wifi}

       status:显示所有接口的状态

      show []:显示指定接口的详细信息

       connect :连接指定接口

       disconnect :断开指定接口连接

       delete :删除指定接口

[root@centos7 ~]# nmcli dev show eth0
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:01:DC:01
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eth0
GENERAL.CON-PATH:                      
/org/freedesktop/NetworkManager/ActiveConnection/4
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.52.7/24
IP4.GATEWAY:                            192.168.52.2
IP6.ADDRESS[1]:                        
fe80::20c:29ff:fe01:dc01/64
IP6.GATEWAY:

(5)网络接口配置tui工具:nmtui

 [root@centos7 ~]#  nmtui

CentOS 6与CentOS 7网络管理

 

(6)主机名称配置工具:hostnamectl {status |set-hostname }

 [root@centos7 ~]#  hostnamectl status
   Static hostname: localhost.localdomain
         Icon name: computer
           Chassis: n/a
        Machine ID:
800b1ae9531f4c38964ddd3322f4624b
           Boot ID:
ec6a5610e3444e668bed2c81bc981a5d
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-229.el7.x86_64
      Architecture: x86_64
 [root@centos7 ~]# hostnamectl set-hostname Centos7      # 永久生效

 


当前文章:CentOS6与CentOS7网络管理
文章URL:http://scyanting.com/article/jdooop.html