美文网首页网络
系统基础-网络管理

系统基础-网络管理

作者: 苏近之2017 | 来源:发表于2017-06-06 16:29 被阅读6次

    Linux 网络管理

    Linux 作为一个越来越成熟的系统,在服务器市场、嵌入式设备等方面都取得了巨大的成功,在网络上的应用也越来越多。事实上,从Linux诞生起,其就被赋予了强大的网络功能。

    网络接口配置

    使用 ifconfig 检查和配置网卡

    ifconfig
    
    image

    如果在ifconfig命令后面跟上具体设备的名称,则只显示该设备的信息。

    image

    手动更改IP

    ifconfig eth0 192.168.159.130 netmask 255.255.255.0
    

    或者

    ifconfig eth0 192.168.159.130/24
    

    断开或连接网卡设备

    image

    将 IP 配置信息写入配置文件

    ifconfig 命令可以直接配置网卡 IP,但是这属于一种动态配置,所配置的信息知识保存在当前运行的内核中。一旦系统重启,这些信息将丢失。为了使重启后依然生效,可以在相关的配置文件中保存这些信息。

    RedHat 和 CentOS 系统的网络配置文件所处的目录为/etc/sysconfig/network-scripts/

    image

    查看网卡配置文件

    image

    DEVICE 定义了设备的名称;BOOTPROTO 定义了获取IP的方式。BOOTPROTO=dhcp的含义是:系统在启用这块网卡时,IP将会通过dhcp的方式获得;还有个可选的值是static,表示静态设置的IP;ONBOOT 定义了启动时是否激活使用该设备,yes 表示激活,no 表示不激活。

    修改完成之后,如果想要立即生效,可以将端口先停用再启用,或者重启网络服务。第一种方式不能远程操作。

    ifconfig eth0 down
    ifconfig etho up
    

    或者
    systemctl restart network // CentOS 7

    路由和网关设置

    Linux 主机之间的通讯是通过 IP 进行的,假设A主机和B主机同在一个网段并且网卡都处于激活状态,则A具备和B直接通讯的能力。如果不在同一个网段,则需要通过路由器来通讯。

    在Linux中可以使用 route 命令添加默认网关。

    route add default gw 192.168.159.2  // 添加
    route del default                   // 删除
    

    添加网关后,可以使用route -n查看系统当前的路由表。

    route -n
    
    image

    如果只使用 route 命令添加网关,一旦系统重启,配置信息就不存在了,所以必须将配置信息保存到配置文件中才能永久保存。

    GATEWAY=192.168.159.2
    

    别忘了重启网络

    DNS客户端配置

    /etc/hosts

    随着主机数量的不断增长,单凭人脑无法记忆越来越多的IP地址。为了解决这个问题,人们使用 host 文件来记录主机名和 IP 的对应关系,这样访问对方主机时,就不需要IP了,只需要使用主机名。

    这个文件路径:/etc/hosts

    这种方式确实“可以工作”,但是主机数量到达一定数量级的时候仍然无法适用。为了彻底解决这个问题,人们发明了 DNS 系统。经过几十年的发展,虽然系统、网络技术都发生了翻天覆地的变化,但是这个文件还是被当作传统保留下来了。

    hosts 文件的作用

    • 加快域名解析
    • 方便小型局域网用户使用内部设备

    /etc/resolv.conf

    使用hosts文件毕竟只能做有限的主机记录,无法将所有已知的主机名记录 host 文件中。因此,当今几乎所哟的主机都适用DNS来解析地址,从技术上来说,DNS就是全互联网上主机名及其IP地址对应关系的数据库。

    设置主机为DNS客户端的配置文件就是 /etc/resolv.conf。其中包含 nameserver/search/domain 这3个关键字。

    image

    nameserver 关键字后面紧跟着一个 DNS 主机的IP地址,可以设置 2~3 个 nameserver,但是主机咋查询域名时会首先查询第一个DNS,当该DNS不可用时才会查询第二个 DNS,以此类推。

    虽然你可以定义3个以上的 nameserver ,但是没有意义,因为系统永远不会用到第四个。

    search 关键字后紧跟的是一个域名。每个主机严格来说有应该有一个 FQDN(全限定域名),所以往往域名很长,如果这里写成 search google.com,那么 www 就代表 www.google.com了,这个关键字后可以跟多个域名。

    domain 关键字和 search 类似,不同的是 domain 后面只能跟一个域名。

    网络测试工具

    ping

    ping 程序的目的在于测试另一台主机是否可达,一般来说,如果 ping 不到某台主机,就说明对方已经出现了问题,但是不排除由于链路中防火墙的因素、ping 包被丢弃等原因造成 ping 不通的情况。ping 命令最简单的使用方式是接受一个主机名或IP作为其单一的参数。

    ping IP/Demain NAME
    
    image

    在 Linux 下不会主动停止,需要使用Ctrl+C组合键来停止。

    参数

    参数 含义
    c 指定 ping 的次数
    i 指定 ping 包的发送间隔
    w 指定 ping 没有回应,则在指定超时时间后退出

    host

    host 命令是用来查询 DNS 记录的,如果使用域名作为 host 的参数,命令返回该域名的IP。

    image

    这条命令还有第二个参数,该参数必须是一个可用的 DNS 服务器,也就是使用命令指定的DNS查询域名,而不是用/etc/resolv.conf文件中定义的DNS查询。

    image

    traceroute

    工具的由来

    在 IP 包结构中有一个定义数据包生命周期的TTL(Time To Live)字段,该字段用于表明IP数据包的生命值,当IP数据包在网络上传输时,没经过一个路由器就减1.这种设计可用于避免出现一些由于某种原因始终无法到达目的地的包不断地在互联网上传递(可以形象地称之为“幽灵包”),减少无谓的网络资源消耗。

    不过路由器也不是“无声无息”地将TTL值为0的IP包丢弃的,他会同时发送给该IP数据包的主机一个ICMP“超时”消息,主机在接受到这个ICMP包后就能同时得到该路由的IP地址。

    根据上面两个特点,人们写了一个检测数据包是如何经由路由器的工具-traceroute,

    工具的原理

    先构造出一个TTL值为1的数据包发送到目的主机,这个数据包在经由第一个路由器时,路由器先将TTL值变为0,然后将IP包丢弃,同事发送一个ICMP消息,这样就得到了经过第一台路由器的IP地址。

    然后再构造出一个TTL值为2的数据包,以此类推,就能得到该IP包经历的整条链路的路由器IP。

    image

    相关文章

      网友评论

        本文标题:系统基础-网络管理

        本文链接:https://www.haomeiwen.com/subject/wnxnfxtx.html