linux网络属性命令操作介绍(第十一天)

        linux网络属性常用命令有ifconfig\route\ip命令,centos7 的还是nmcli\nmtui。

    网络属性的三大文件:修改DNS的文件/etc/resolv.conf  、修改网卡IP地址/etc/sysconfig/network-scripts/ifcfg-dev_name以及添加静态路由的/etc/sysconfig/network-scripts/route-dev_name

    ifconfig命令

常用options有:
hw {ether|ax25|ARCnet}修改MAC地址,
add/del 添加/删除ip地址
up/down 把网卡的状态设为up/down状态
mtu 修改网卡的mtu值,默认是1500
arp/-arp 开户/关闭arp协议  

[root@Centos6 ~]# ifconfig #查看网卡状态及信息
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92   #网卡的类型及MAC地址
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0 #ip、mask、广播地址
          inet6 addr: 240e:a4:dd9:300:20c:29ff:fede:6092/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fede:6092/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:67913 errors:0 dropped:0 overruns:0 frame:0 #接收的网络报文数量统计
          TX packets:22916 errors:0 dropped:0 overruns:0 carrier:0 #发送的网络报文数量统计
          collisions:0 txqueuelen:1000 
          RX bytes:38459605 (36.6 MiB)  TX bytes:2424081 (2.3 MiB) #接收与发送报文的大小
[root@Centos6 ~]# ifconfig eth0 arp  #启动arp[root@Centos6 ~]# ifconfig eth0 -arp #关闭arp[root@Centos6 ~]# ifconfig eth0  mtu 1490 #修改mtu值[root@Centos6 ~]# ifconfig eth0  up #修改网卡状态为up,默认就是up[root@Centos6 ~]# ifconfig eth0  down #修改网卡状态为down。修改后网络断了,远程连接被退出了Connection closed by foreign host.
Disconnected from remote host(6.6) at 11:42:56.
Type `help' to learn how to use Xshell prompt.

root@Centos6 ~]# ifconfig eth0 192.168.1.12/24 #修改IP地址Connection closed by foreign host.
Disconnected from remote host(6.6) at 11:53:37.
Type `help' to learn how to use Xshell prompt.
[c:\~]$ ssh 192.168.1.12
Connecting to 192.168.1.12:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Sun May 29 04:52:45 2016 from 192.168.1.6
[root@Centos6 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0 #修改后立马生效。
[root@Centos6 ~]# ifconfig eth0:1  192.168.1.11/24;ifconfig #为eth0添加子接口IP地址eth0:1,并马上查看
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
            ………………

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  #已添加成功
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

IP 命令用来显示或操纵Linux主机的路由、IP、策略路由和网卡状态,是Linux下较新的功能强大的网络配置工具

    IP命令的使用格式

ip [ OPTIONS ] OBJECT { COMMAND | help }
  OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute |monitor }
  OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx| dnet | link } | -o[neline] }
常用的OBJECT有:link/addr/route,策略路由rule这里不显示操作
OBJECT---link 可查看、修改网卡的各种二层信息
常用子command有:
    help 帮助---》 ip link help 
    show 查看硬件属性
    up 查看up的接口
    dev dev_name 查看指定接口
    set 修改网络的各种参数
    up | down #设置网卡状态为up或down    
    arp on | arp off   #开户或关闭arp    
    multicast on or multicast off  #开启或关闭组播    
    name NAME #设置网卡的名称,修改前要把网卡的状态变为down---》ip link set dev_name name dev-new_name    
    mtu NUMBER   #设置mtu    address LLADDRESS   
    broadcast LLADDRESS.
    alias NAME  #设置别名
[root@Centos6 ~]# ip link show eth0  #查看eth0二层链接信息
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff
    alias eth10 #别名为eth10[root@Centos6 ~]# ip link set eth0 alias eth100 #修改别为eth100[root@Centos6 ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff
    alias eth100 #修改成功[root@Centos6 ~]#
OBJECT---addr 可管理、删除、查看IP地址
list|show 查看网卡的三层信息
add|delete 添加或删除ip地址
label label_name为增加的IP地址添加卷标,类似了ifconfig eth0:0 的作用
flush 清除IP地址,使用service network dev_name 可以让网卡重新加载IP地址

ip addr show查看三层信息

linux网络属性命令操作介绍(第十一天)blob.png

ip addr add 添加IP,以及label添加IP地址卷标eth0:1

blob.png

ip addr del 删除指定IP地址

blob.png

ip addr flush 清除指定网卡的IP地址。格式是ip addr flush eth0

OBJECT---route 可添加、删除、查看linux的路由信息
常用的子命令是:
add 添加路由
list 查看路由
delete 删除路由
flush 清除路由
 
ip route 或者 ip route list 查看路由表信息,其中每条路由最后的proto static 表示此路由是静态路由

blob.png

ip route add 添加路由,格式是ip route add des_add/mask via gw|dev_name

blob.png

ip route delete 删除路由,格式是ip route delete des_add/mask。下图中172.16.1.0/24删除完成。172.16.2/24 与172.16.3.0/24是后来添加的

blob.png


route 路由查看、管理命令。route配置的路由会马上生效,但重启linux后,会丢失配置内容。

添加路由
route  [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N][mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]

删除路由
 route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N][[dev] If]

 路由的查看、添加与删除操作

[root@mfc ~]# route -n 查看路由

blob.png

可以命以通过route {add|del|}查看route命令使用的格式

blob.png

[root@mfc ~]# route add -net 192.168.200.0/24 gw 192.168.1.2  添加路由

blob.png

[root@mfc ~]# route del -net 192.168.200.0/24 gw 192.168.1.2 删除路由

blob.png

192.168.200.0/24路由已经被删除

注意:ifconfig\ip\route三个命令虽然配置简单,而生效快,但最大的缺点是无法永久有效,重启后配置将会丢失。解决的方法可以直接配置相应的配置文件,保存后可永久有效。

    修改IP配置文件

    修改IP地址的配置文件是cat /etc/sysconfig/network-scripts/ifcfg-dev_name,centos6网卡的名称默认是ifcfg-eth{0,1,2,……},centos7的网卡默认以eno*

    以centos6为例,修改配置文件后,service network restart 重启网络服务生效,centos7还可以使用systemctl restart network 

配置文件说明:
DEVICE: 此配置文件应用到的设备;
HWADDR: 对应的设备的MAC地址;
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;
NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;
ONBOOT:在系统引导时是否激活此设备;
TYPE:接口类型;常见有的Ethernet, Bridge;
UUID:设备的惟一标识;
PADDR:指明IP地址;
NETMASK:子网掩码;
GATEWAY: 默认网关;
DNS1:第一个DNS服务器指向;此处的DNS配置优先于/etc/resolv.conf文件中的DNS配置
DNS2:第二个DNS服务器指向;
USERCTL:普通用户是否可控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;

  blob.png

    配置DNS服务器指向配置文件    

cat /etc/resolv.conf 修改这文件

blob.png

DNS服务器192.168.1.1是在网卡IP地址文件中/etc/sysconfig-network-scripts/ifcfg-eth0中配置的DNS1

编辑配置文件,添加DNS服务器8.8.8.8,并保存退出,立即生效

blob.png

再查看此文件的内容

blob.png

 配置route

    route的配置文件路径是/etc/sysconfig/network-cripts/目录下,以route-dev_name命令格式的文件,默认不存在,需要创建并配置。

    通过此方式配置的路由有两格式:

只有一行的格式:des_ipaddress/mask via gw
有三行的格式:
   ADDRESS#=dest_ipaddress
   NETMASK#=mask
   GETAWAY=gw
注意:两个格式不同时使用,只能选用一个

 

    创建配置文件并添加路由

    Centos6

blob.png

blob.png

创建并保存文件后,service network restart 可以让配置生效

Centos7

blob.png

在centos7上的配置文件里,试过1行格式的172.16.3.0/24 via 192.168.1.1 和 172.16.3.0/24 via 192.168.1.1 dev eno16777736,然后nmcli device disconnetc eno016777736 && nmcli device connetc eno16777736 重新启用网卡或重启系统,都不生效;使用三行的格式的也不生效,郁闷中

blob.png

三个命令的总结:ifconfig与route 命令几乎所有的版本都支持,简单好用,但也只有拥有基本的功能。ip这个命令功能强大,拥有网络属性中的link路信息、IP地址、路由、策略路由、多播、monitor 、邻居等等功能,强大到没有朋友 。三个命令都有的缺点是不能永久有效,若要永久生效,需要修改配置文件。


Centos7网络属性专用修改工具

   网卡命名机制       

systemd对网络设备的命名方式:
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1;
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1; 
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;
(d) 如果用户显式启动,也可根据MAC地址进行命名,如enx2387a1dc56; 
(e) 上述均不可用时,则使用传统命名机制;

   名称组成格式

en: ethernet
wl: wlan
ww: wwan
 
名称类型:
o<index>: 集成设备的设备索引号;
s<slot>: 扩展槽的索引号;
x<MAC>: 基于MAC地址的命名;
p<bus>s<slot>: enp2s1

网卡设备的命名过程:    

第一步: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

回归传统命名方式:

(1) 编辑/etc/default/grub配置文件
     GRUB_CMDLINE_LINUX="net.ifnames=0  …… rhgb quiet"
(2) 为grub生成其配置文件
    grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统

修改网络名称,修改成简单一点

blob.png

把网卡名称修改成eth0

第一步骤,修改/etc/default/grub,红色方框的内容是要添加进去的

blob.png

第二步骤,重新生成grub配置文件,使用grub2-mkconfig -o /etc/grub2.cfg 命令,然后重启

blob.png

重启后,网卡的名称改为了eth0,这样好记多了。

blob.png

nmcli 网络管理命令

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { general | networking | radio | connection | device | agent  }
 
 
键入nmcli后,按tab键可以查看后面的参数

blob.png

查看系统链接网络设备状态,使用nmcli device status

blob.png

关闭网卡eth0,使用nmcli device disconnect eth0,关闭后ifconfig查看网卡配置时,没有IP的配置

blob.png

开启eth0,使用nmcli device connect eth0

blob.png

  总结:nmcli命令除了查看设备状态、关闭或开启外,还可以设置静态IP地址、设置为DHCP获取、DNS服务器IP等,但个人觉得这些功能使用较麻烦,不如IP/IFCONFIG命令简单

    nmtui可显化配置命令,直接通过按扭操作

blob.png

选择“set system hostname” 设置主机名,修改为centos7x64,并<OK>,重启后生效

blob.png    

选择“Edit a connection”,修改网卡的IP地址,注意eth0系统连接识别的全称是Ethernet connection 1,修改之后重启生效

blob.png

blob.png

blob.png

blob.png


  ss命令,可取代netstat ,执行效果比netstat快很多 

    ss [options] [ FILTER ]

    常用选项

-t:TCP协议相关
-u:udp协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的链接 
-a:所有
-n:不解析服务的名称
-p:相关程序及PID
-e:详细的信息
-m:内存用量
-o:计时器信息
-s:显示汇总信息 
-F <路径/文件名> 从指定的文件中读取信息,并显示出来
-A <文件路径/文件名> 把查询的结果转存到指定的文件,支持{all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink},以逗号隔开
FILTER : = [stat tcp-state][expression] 配合使用代表式
    ss -o state established ’( dport = :ssh or sport = :ssh )’
     显示状态是established,源端口sport是ssh或者目标端口dport是ssh 的连接的
常用的组合:  -tapl -ualp -tal -ual
TCP的常见状态:

LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT #TCP
SYN_RECV #TCP
CLOSED #关闭
显示连接汇总信息

blob.png

显示TCP信息

blob.png

 
显示特定IP地址的UDP\TCP链接信息,由实验环境没有UDP连接,查询是没有显示出内容,但命令是这样用。

blob.png

  指定特定IP与特定服务查询连接情况,192.168.1.6只用53185端口连接linux,所以查询80\ssh端口时没有显示

blob.png

通过tcp的状态查看连接情况。查看状态是established的TCP连接

blob.png

原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/17280

(1)
Net20-deamonNet20-deamon
上一篇 2016-06-01
下一篇 2016-06-01

相关推荐

  • Linux系统进程管理

    本章学习内容     ——进程概念     ——进程创建、切换和撤销     ——进程调度     ——进程分类     ——进程状态 &n…

    Linux干货 2016-09-13
  • SSL应用系列之一:CA证书颁发机构(中心)安装图文详解

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/140518        如果你需要在组织里发布exchange,或者需要给IIS配置SSL的访问方…

    Linux干货 2015-03-26
  • LAMP的编译安装

    一、编译安装amp: (1)系统环境:centos6,7 httpd依赖于apr和apr-util appache protable runtime (2)开发环境: Development Tools,Server Platform Development (3)各程序的版本: httpd:2.2,2.4 php:5.x mysql:5.1,5.5,5.6…

    Linux干货 2016-10-17
  • 浅谈Nginx(二)—http下server配置

    浅谈Nginx(二)—http下server配置 此文介绍Nginx下的http模块,着重介绍http模块下的server服务 ——–依据”马哥教育”主讲人马永亮导师的上课笔记整理——- 目录  一. http相关的基本配置:     1)…

    系统运维 2017-02-07
  • shell脚本基础

    shell脚本基础 变量 bash的变量:  环境变量  本地变量  位置变量  特殊变量 本地变量:bash:作用域为整个bash进程 局部变量:作用域为当前代码段 local VARNAME=VALUE 引用变量:${VARNAME} 环境变量:作用域为当前的shell进程及其子进程 export VARNAME=…

    Linux干货 2017-04-16
  • 网络管理基础-子网划分及网络配置练习

    1、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子  公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?  192.168.100.1 网络位192.168.100 192.168.100.00000000 C类掩码255.255.255.0 192.168.100. 000 00001  …

    Linux干货 2016-09-05

评论列表(1条)

  • stanley
    stanley 2016-06-01 15:34

    已置顶,欢迎加入免检家庭