1、配置网络常用命令

(1)配置IP地址

IP地址是计算机在互联网中唯一的地址编码。每台计算机如果需要接入网络和其他计算机进行数据通信,就必须配置唯一的公网IP地址。

配置IP地址有两种方法:

  • 1)setup工具(Red Hat系列专有)
  • 2)vi /etc/sysconfig/network-scripts/ifcfg-eth0(手工修改配置文件)

提示:真正标准的修改IP地址的方式,还是第二种方式。

(2)网络服务

使用service脚本来调度网络服务:

  • 开启网络服务:[rootelocalhost ~]# service network start
  • 关闭网络服务:[rootelocalhost ~]# service network stop
  • 重启网络服务:[rootelocalhost ~]# service network restart

直接执行网络服务的管理脚本:

各类服务脚本都存放在/etc/init.d(或/etc/rc.d/init.d)目录下,网络服务network则在/etc/init.d目录中。

  • 启动网络服务:/etc/init.d/network start
  • 关闭网络服务:/etc/init.d/network stop
  • 重启网络服务:/etc/init.d/network restart

说明:如果虚拟机需要桥接到有线网卡,并重启网络服务。也就是要把网络链接方式改成桥接模式。

(3)重置UUID

有的时候在重启网络的时候,最后一个不是绿色的确定,而是红色的失败,如下面描述:

# 重启网络
[root@DevOps ~]# service network restart
正在关闭接口etho:
关闭环回接口:
弹出界面 eth0:Determining if ip address 192.168.44.8 is already in use for device eth0..
[确定] # 中文
[root@DevOps ~]# service network restart
正在关闭接口 eth0: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0:
正在决定 eth0 的 IP 信息...完成。
[确定]
  • 是什么原因?

    这里造成失败,可能最大的原因是IP地址冲突了,换个IP即可,也可以选择自动分配IP地址。(桥接模式在局域网内,很容易造成IP地址冲突,为什么,请看之前文章https://www.cnblogs.com/liuyuelinfighting/p/15484936.html

    如果换了好几个IP地址,重启网络服务,还不能解决上述问题,那可能就不是IP地址冲突了,可能就是UUID冲突。
  • 什么是UUID?

    UUID:唯一识别符,这个UUID是从Red Hat 6系列出现的。会给你Linux系统上的分区、网卡都生成一串UUID符号。

    这个UUID号是写在网卡配置文件中。也就是/etc/sysconfig/network-scripts/ifcfg-eth0文件。

    内容如下所示:
    [root@DevOps ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    HWADDR=00:0c:29:3f:81:04
    TYPE=Ethernet
    `UUID=f9b5add2-688c-4b1b-a7cf-e1d0ba66adf3`
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=dhcp
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no

    这UUID是一串16进制的字符串,重复的可能性几乎没有。

  • 既然UUID重复的可能性几乎没有,那为什么会冲突呢?

    因为我们现在操作的是虚拟机,有一些情景会造成两个虚拟机出现相同的UUID的情况。比如说快照和克隆。

    你的真实机装Linux系统,或者手动安装的Linux虚拟机,都不会发生UUID冲突。

    所以这个UUID冲突主要发生在虚拟机Linux系统中,并且有快照和克隆的时候。
  • 如何解决?

    复制镜像有可能需要重置UUID

    1)在网卡配置文件中手动删除MAC地址行

    [root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
    #删除的是第二行HWADDR(MAC地址)
    #因为UUID是依赖MAC地址计算出来的。
    [root@DevOps ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    `HWADDR=00:0c:29:3f:81:04`
    TYPE=Ethernet
    UUID=f9b5add2-688c-4b1b-a7cf-e1d0ba66adf3
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=dhcp
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no

    2)删除MAC地址和UUID绑定文件

    [root@localhost ~] # rm -rf/etc/udev/rules.d/70-persistent-net.rules

    3)重启Linux

    [rootelocalhost ~] # reboot

    重启之后UUID就会重新计算,所计算出来的UUID,基本上没有可能在重复了。以上问题也就解决了。

2、ifconfig命令

ifconfig命令的基本信息:

  • 命令名称:ifconfig
  • 英文原意:configure a network interface
  • 所在路径:/sbin/ifconfig
  • 执行权限:超级用户。
  • 功能描述:配置网络接口。

ifconfig命令最主要的作用就是查看IP地址的信息,直接输入ifconfig命令即可。

如下图所示:

注意:其中最主要的三个数据为IP地址、MAC地址、子网掩码。

3、ping命令

ping是常用的网络命令,主要通过ICMP协议进行网络探测,测试网络中主机的通信情况。

(原理是我向对方发一个包,对方回复我了,证明这个网络是通的。)

(1)ping命令的基本信息

  • 命令名称:ping
  • 英文原意:send ICMP ECHO_REQUEST to network hosts
  • 所在路径:/bin/ping
  • 执行权限:所有用户。
  • 功能描述:向网络主机发送ICMP请求。

ping命令的基本格式如下:

[root@localhost ~]# ping [选项] IP

选项:
-b:后面加入广播地址,用于对整个网段进行探测
-c次数:用于指定ping的次数
-s字节:指定探测包的大小 # 提示:Linux系统下用ctrl+c进行终止。

(2)例子:探测网段中的可用主机

ping命令中,可以使用-b选项,后面加入广播地址,探测整个网段。我们可以使用这个选项知道整个网络中有多少主机是可以和我们通信的,而不用一个一个IP地址地进行探测。例如:

#探测192.168.103.0/24网段中有多少可以通信的主机
[root@localhost ~]# ping -b -c 3 192.168.103.255
WARNING:pinging broadcast address PING 192.168.103.255(192.168.103.255)56(84)bytes of data.
64 bytes from 192.168.103.199:icmp seq=1 tt1=64 time=1.95 ms
64 bytes from 192.168.103.168:icmp seq=1 tt1=64 time=1.97 ms(DUP!)
64 bytes from 192.168.103.252:icmp seq=1 tt1=64 time=2.29 ms(DUP!)
..省略部分内容…

说明:192.168.103.255:225为广播地址,是询问103网段有多少个IP在,用于检查当前网段中有多少台电脑可以通信。

4、netstat 命令

netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。

CentOS7.xnetstat命令默认没有安装,如果需要使用,需要安装net-snmpnet-tools软件包。(CentOS6中自动安装)

netstat命令的基本信息:

  • 命令名称:netstat
  • 英文原意:Print network connections,routing tables,interface statistics,masquerade connections,and multicast memberships
  • 所在路径:/bin/netstat
  • 执行权限:所有用户。
  • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。

netstat命令格式如下:

[rootelocalhost ~]# netstat [选项]

选项:
-a:列出所有网络状态,包括 Socket程序
-c秒数:指定每隔几秒刷新一次网络状态
-n:使用IP地址和端口号显示,不使用域名与服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况
-1:仅显示监听状态的连接
-r:显示路由表

使用1:查看本机开启的端口

这是本机最常用的方式,使用选项-tuln。因为使用了-l选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。

例如:

这个命令的输出较多,简单说明一下:

  • Proto:网络连接的协议,一般就是TCP协议或者UDP协议。
  • Recv-Q:表示接收到的数据。已经在本地的缓冲中,但是还没有被进程取走。
  • Send-Q:表示从本机发送,对方还没有收到的数据。依然在本地的缓冲中,一般是不具备ACK标志的数据包。
  • Local Address:本机的IP地址和端口号。
  • Foreign Address:远程主机的IP地址和端口号。
  • State:状态。常见的状态主要有以下几种。
    • LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。
    • ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。
    • SYNSENT:SYN发起包,就是主动发起连接的数据包。
    • SYNRECV:接收到主动连接的数据包。
    • FINWAIT1:正在中断的连接。
    • FINWAIT2:已经中断的连接,但是正在等待对方主机进行确认。
    • TIMEWAIT:连接已经中断,但是套接字依然在网络中等待结束。
    • CLOSED:套接字没有被使用。

在这些状态中,我们最常用的就是LISTENESTABLISHED状态,一种代表正在监听,另一种代表已经建立连接。

使用2:查看本机有哪些程序开启的端口

如果使用-p选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID。

例如:

使用3:查看所有连接

使用选项-an可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。

例如:

Active UNIX domain sockets开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在-an选项的输出中看到各种网络连接状态,而之前的-tuln选项则只能看到监听状态。

使用4:查看网关地址

ifconfig命令只能看到IP地址,Mac地址,子网掩码。

如下图所示:

但是我们并不同通过ifconfig命令查看到网关,如果需要查看网关地址,就需要用到netstat 命令。

如下图,执行命令:netstat -rn

『学了就忘』Linux基础命令 — 34、配置网络相关命令的更多相关文章

  1. 『学了就忘』Linux系统管理 — 86、查看系统资源相关命令

    目录 1.vmstat命令 2.dmesg命令 3.free命令 4.查看CPU信息 5.查看本机登陆用户信息 (1)w命令 (2)who命令 6.uptime命令 7.查看系统与内核相关信息 1.v ...

  2. 『学了就忘』Linux基础 — 8、虚拟机网络模式说明

    目录 1.虚拟机网卡 2.网络连接模式对应工作的网卡 3.桥接模式说明 4.补充说明 这篇主要总结一下虚拟机网络配置中桥接模式.NAT模式和仅主机模式的区别. 打开VMware,选中虚拟机,点击网络适 ...

  3. 『学了就忘』Linux系统管理 — 85、工作管理相关命令

    目录 1.工作管理简介 2.如何把命令放入后台 3.后台管理命令 (1)查看后台的工作 (2)将后台暂停的工作恢复到前台执行 (3)把后台暂停的工作恢复到后台执行 4.后台命令脱离登录终端运行 1.工 ...

  4. 『学了就忘』Linux基础 — 11、通过setup工具配置Linux系统IP地址

    目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6 ...

  5. 『学了就忘』Linux基础 — 17、远程服务器关机及重启时的注意事项

    目录 1.为什么远程服务器不能关机 2.远程服务器重启时需要注意两点 3.不要在服务器访问高峰运行高负载命令 4.远程配置防火墙时不要把自己踢出服务器 5.指定合理的密码规范并定期更新 6.合理分配权 ...

  6. 『学了就忘』Linux基础命令 — 20、文件操作的相关命令

    目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...

  7. 『学了就忘』Linux基础命令 — 26、帮助命令

    目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...

  8. 『学了就忘』Linux基础命令 — 27、搜索操作相关命令

    目录 1.whereis命令 2.which命令 3.locate命令 1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令. ...

  9. 『学了就忘』Linux基础命令 — 28、别名和常用快捷键

    目录 1.别名 2.常用快捷键 1.别名 别名也是Shell中的命令. 命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的. 命令格式: # 查询系统中命令别名 [root@localhost ...

随机推荐

  1. curl 理解

    PHP使用CURL详解   CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP ...

  2. Orchard Core 配置项说明

    Orchard Core使用IShellConfiguration扩展了ASP.NET Core IConfiguration,以允许在应用程序范围的配置之上进行特定于租户的配置.虽然本文档使用Orc ...

  3. P3426-[POI2005]SZA-Template【KMP】

    正题 题目链接:https://www.luogu.com.cn/problem/P3426 题目大意 给出一个长度为\(n\)的字符串\(s\),求一个长度最小的字符串\(t\)使得\(s\)所有\ ...

  4. R7000 电脑调整亮度

    R7000 电脑亮度太亮,想调整亮度,fn+F5,F6 不起作用,需要调整显卡的设置

  5. 【原创】xenomai 在X86平台下中断响应时间测试

    1.中断响应时间 实时操作系统的意义就在于能够在确定的时间内处理各种突发的事件,而中断这些事件.系统抢占调度的触发点,因而衡量嵌入式实时操作系统的最主要.最具有代表性的性能指标参数无疑是中断响应时间. ...

  6. WPF之资源专题

    1.一般程序的资源可以分为四个等级: 数据库中的数据相当于放在仓库里 资源文件里的数据相当于放在旅行箱里 WPF对象资源里的数据相当于携带在背包里 变量中的数据相当于拿在手里 2.资源的查找顺序是沿着 ...

  7. ArrayList和LinkedList、及Vector对比分析

    ArrayList和LinkedList 底层结构 两者的差别主要来自于底层的数据结构不同,ArrayList是基于数组实现的,LinkedList是基于双链表实现的. 接口实现 LinkedList ...

  8. Java正则中"\\\\"表示普通反斜杠

    Java中"\"用于转义字符,"\\"表示普通无转义功能的反斜杠. 如果将字符串当做正则表达式来解析,那么"\\"也有了特殊意义,它与其后的 ...

  9. linux:桌面切换

    永久更改 字符模式:multi-user.target 图形模式:graphical.target systemctl get-default #查看默认模式 systemctl set-defaul ...

  10. 异常大讨论-抛出异常还是返回false

    iteye精华帖之异常大讨论 原帖链接http://www.iteye.com/topic/2038 Robbin的观点 观点1:Exception实际上代表了一个UseCase中的异常流的处理. 绝 ...