多敲码 · 2022年8月19日 0

关于网络管理

根据archlinx wiki上的内容,网络配置包括了检查链接, 网络管理,设置计算机名和更多设置共计4部分.

1 检查连接,也就是检查是否联网,可以使用ping命令.

ping命令的定义, 摘自: man ip

send ICMP ECHO_REQUEST to network hosts. ping uses the ICMP protocol’s mandatory ECHO_REQUEST datagram to elicitan ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (“pings”) have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of “pad” bytes used to fill out the packet.

ping虽然常见,但本身也有一些方便的选项,不可不试着用用.

       ping [-aAbBdDfhLnOqrRUvV46] [-c count] [-F flowlabel] [-i interval]
            [-I interface] [-l preload] [-m mark] [-M pmtudisc_option]
            [-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern]
            [-Q tos] [-s packetsize] [-S sndbuf] [-t ttl]
            [-T timestamp option] [hop...] {destination}

2 基于iproute2管理网络.

iproute2 是 base 元包 的依赖,提供 ip(8) 命令行接口,用于管理 网络接口,IP 地址 和 路由表。

网络接口

默认情况下, udev 使用 可预测的网络接口名称 分配给你的网络接口,该名称以 en (有线/以太网) ,wl (无线/WLAN) 或 ww (WWAN)开头 。主要是ip link系列命令,包括了列出网络接口,启用/禁用网络接口.

IP地址
通过ip address系列命令来列出ip地址,将ip地址添加到/删除出接口.
路由表 被用于确定是否可以直接访问某个 IP 地址或该使用哪个网关(路由器)。如果别的路由与这个 IP 地址匹配,将使用默认网关。通过 ip-route.
对于一般动态ip,动态主机配置协议(DHCP) 服务器为客户端提供动态 IP 地址,子网掩码,默认网关 IP 地址,有时还可以提供域名服务器。要使用 DHCP ,需要网络中有 DHCP 服务器和 DHCP 客户端.

ip [ OPTIONS ] address  { COMMAND | help }

ip address { add | change | replace } IFADDR dev IFNAME [ LIFETIME ] [     CONFFLAG-LIST ]

ip address del IFADDR dev IFNAME [ mngtmpaddr ]

ip address { save | flush } [ dev IFNAME ] [ scope SCOPE-ID ] [ metric
               METRIC ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [ up ]

ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [
               FLAG-LIST ] [ label PATTERN ] [ master DEVICE ] [ type TYPE ] [
               vrf NAME ] [ up ] [ nomaster ] ]

ip address { showdump | restore }
ip link  { COMMAND | help }

ip link add [ link DEVICE ] [ name ] NAME
               [ txqueuelen PACKETS ]
               [ address LLADDR ] [ broadcast LLADDR ]
               [ mtu MTU ] [ index IDX ]
               [ numtxqueues QUEUE_COUNT ] [ numrxqueues QUEUE_COUNT ]
               [ gso_max_size BYTES ] [ gso_max_segs SEGMENTS ]
               [ gro_max_size BYTES ]
               type TYPE [ ARGS ]

ip link delete { DEVICE | group GROUP } type TYPE [ ARGS ]

ip link set { DEVICE | group GROUP }
               [ { up | down } ]
               [ type ETYPE TYPE_ARGS ]
               [ arp { on | off } ]
               [ dynamic { on | off } ]
               [ multicast { on | off } ]
               [ allmulticast { on | off } ]
               [ promisc { on | off } ]
               [ protodown { on | off } ]
               [ protodown_reason PREASON { on | off } ]
                .......
ip [ ip-OPTIONS ] route  { COMMAND | help }

ip route { show | flush } SELECTOR

ip route save SELECTOR

ip route restore

ip route get ROUTE_GET_FLAGS ADDRESS [ from ADDRESS iif STRING  ] [ oif
               STRING ] [ mark MARK ] [ tos TOS ] [ vrf NAME ] [ ipproto PRO‐
               TOCOL ] [ sport NUMBER ] [ dport NUMBER ]

ip route { add | del | change | append | replace } ROUTE

3 设置本地和局域网主机名

主机名包括了设置计算机名,本地主机名解析,要想使用主机名在你的局域网上访问你的机器,你可以使用下列方法:编辑你局域网上所有设备的 /etc/hosts,设立一个 DNS 服务器来解析你的主机名,并让局域网中的设备都使用这个 DNS 服务器(比如,通过 #DHCP),或者最简单的方式:使用 Zero-configuration networking 服务.

4 其他配置(一般其它就是要么写作的本人不懂的,要么就是没有人写的,但是往往很厉害的.)

IP 别名是指给同一个网络接口分配多个 IP 地址。这样一个网络节点可以有多个网络连接,每个实现不同的作用。典型的用处是 Web 服务器和 FTP 服务器的虚拟主机,或者是重组服务器时不需要更新其他任何机器上的 IP (对于名称服务器来说很有用)。使用ip address add/del [ip_addr]

ss 是用来检测网络端口(检测套接字)的工具,是 iproute2 软件包的一部分。它与已弃用的 netstat 工具具有相似的功能。显示所有 TCP 连接及相应的服务名:ss -at 显示所有 TCP 连接及其端口号:ss -atn 显示所有 UDP 连接: ss -au .

主要参考:Network configuration (简体中文)

扩展内容:https://tldp.org/LDP/nag2/index.html

参考名词术语:

  • CIDR中文全称是无分类域间路由选择,英文全称是Classless Inter-Domain Routing,在平常,大家多称之为无分类编址,它也是构成超网的一种技术实现。CIDR在一定程度上解决了路由表项目过多过大的问题。CIDR之所以称为无分类编址,就是因为CIDR完全放弃了之前的分类IP地址表示法,它真正消除了传统的A类、B类、C类地址以及划分子网的概念,它使用如下的IP地址表示法:IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数. 原文链接:https://blog.csdn.net/dan15188387481/article/details/49873923
  • 因特网控制报文协议ICMP(Internet Control Message Protocol)是一个差错报告机制,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络层协议,主要用于在IP主机和路由器之间传递控制消息,用于报告主机是否可达、路由是否可用等。这些控制消息虽然并不传输用户数据,但是对于收集各种网络信息、诊断和排除各种网络故障以及用户数据的传递具有至关重要的作用。https://info.support.huawei.com/info-finder/encyclopedia/zh/ICMP.html
  • udev 是一个用户空间的设备管理器,用于为事件设置处理程序。作为守护进程, udev 接收的事件主要由 linux 内核生成,这些事件是外部设备产生的物理事件。总之, udev 探测外设和热插拔,将设备控制权传递给内核,例如加载内核模块或设备固件。作为 devfsd 和 hotplug 的替代品, udev 还负责管理 /dev 中的设备节点,即添加、链接和重命名,因此也取代了 hotplug 和 hwdetect 。https://wiki.archlinux.org/title/Udev_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)