Linux网络服务:网络设置与基础服务1

2023-10-31

目录

一、理论

1.查看网络配置

2.测试网络连接

3.使用网络配置命令

4.修改网络配置文件

5.DHCP服务

二、实验

1.本地DHCP服务器搭建

2.问题


一、理论

1.查看网络配置

(1)使用ifconfig命令查看网络接口地址

主机的网络接口卡(网卡)通常称为“网络接口”。在LInux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。

      ①  查看活动的网络接口设备

当ifconfig命令不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息。

      ②  查看指定的网络接口信息

      当只要查看其中某一个网络接口的信息时,可以使用接口的名称作为ifconfig命令的参数(不论该网络接口是否处于激活状态)。

ether:表示网络接口的物理地址(MAC地址),通过“TX”、“RX”等信息了解通过该网络接口发送和接收的数据包个数、流量等更多属性。

(2)使用ip/ethtool命令查看网络接口

     ip/ethtool与ifconfig命令相同,也是查看网络接口的命令。但与ifconfig命令相比,ip/ethtool命令的功能更强大,它不仅仅可以查看网络接口的基本信息,还可以查看更深层的内容:

      ①   ip link:查看网络接口的数据链路层信息

      ②   ip address:查看网络接口的网络层信息

      ③   ethtool ens33 :查看指定网络接口的速率、模式等信息

(3)使用route命令查看路由表条目

Linux系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行route命令可以查看档当前主机的路由表信息,在输出结构中,Destination列对应目标网段的地址,Gateway列对应下一跳路由器的地址,Iface列对应发送数据的网络接口。

若结合“-n”选项使用,可以将路由记录表中的地址显示为数字形式,这样可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度。

(4)使用netstat命令查看网络连接情况

通过netstat命令可以查看当前系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。

表1 netsta命令常用选项

选项 功能
-a 显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务接口)
--n 以数字的形式显示相关的主机地址、端口等信息
-t 查看TCP协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息
-l 显示处于监听(Listening)状态的网络连接及端口信息
-u 显示UDP协议相关的信息

通常使用“-antp”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。结合命令管道使用“grep”命令,还可以在结果中过滤出所需要的特定记录。

(5)使用ss命令查看网络连接情况

ss的查询速度比netstat要快 ,ss 适应于链接量较大的场景 ,netstat可能会卡死

 表2 ss命令常用选项

选项 功能
-a 显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务接口)
--n 以数字的形式显示相关的主机地址、端口等信息
-t 查看TCP协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息
-l 显示处于监听(Listening)状态的网络连接及端口信息
-u 显示UDP协议相关的信息

通常使用“-antp”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。结合命令管道使用“grep”命令,还可以在结果中过滤出所需要的特定记录。

2.测试网络连接

(1)使用ping命令测试网络连通性

使用ping命令可以向目的主机持续地发送测试数据包,并显示反馈结果,直到按Ctrl+C组合键后中止测试,并显示最终统计结果。

       ①   ping -c 次数 

       ②  ping -c 次数 -w 等待次数

(2)使用traceroute命令跟踪数据包的路由途径

使用traceroute命令可以从当前主机到目的主机之间经过了哪些网络节点,并显示各中间节点的连接状态(响应时间)。

(3)使用nslookup命令测试DNS域名解析

当域名解析出现异常时,将无法使用域名的形式访问网络中的Web站点、电子邮件系统等服务。nslookup命令是用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。

3.使用网络配置命令

(1)使用ifconfig命令修改网卡的地址、状态

打开指定设备

关闭指定设备

(2)使用route命令添加、删除静态路由记录

①直接输入route是查看路由表,但是网关和默认路由显示的是gateway和default

②输入route  -n同样是查看路由表但是网关和默认路由显示的对应地址。-n选项为不解析名称

③添加路由格式:

临时添加: route  add  -net 目的网段  gw   出口网关地址  dev 网卡名称(ens33) 

永久添加:/etc/sysconfig/static-routes修改此配置文件,格式为:any net 192.168.20.0/24 gw 192.168.37.2

4.修改网络配置文件

(1)网络接口配置文件

      ①  修改网卡的IP地址、子网掩码

           ifconfig -a 查询所有的网络设备

           ifconfig -s 查看网络通信情况

           ifconfig ens33 查询指定设备

      ②  禁用、激活网络接口

          ifconfig ens33 up 打开指定设备

          ifconfig ens33 down 关闭指定设备

          ifup 打开指定设备

          ifdown 关闭指定设备

      ③  为网卡绑定虚拟接口

          ficonfig ems33:0 创建虚拟网卡

(2)启用、禁用网络接口配置

         ifup 打开指定设备

         ifdown 关闭指定设备

(3)主机名称配置文件

         配置文件:vim /etc/hostname

①直接输入hostname是查看当前主机名

②输入hostname +主机名 为临时修改主机名,需要su刷新才能生效,重启则失效

③输入hostnamectl set-hostname  +主机名 为永久修改主机名直接写入了/etc/hostname配置文件的第一行中。同样需要su刷新才能生效,但是重启不失效

(4)域名解析配置文件

     ①  指定为本机提供DNS解析的服务器地址

 正向解析 通过域名解析出真正的ip地址dns的解析地址的配置文件:vim /etc/resolv.conf

      ②  本地主机映射文件

/etc/hosts 文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再向DNS服务器查询。

           配置文件:vim /etc/hosts

 自建本地未知域名

映射

 ping测试地址

5.DHCP服务

(1)DHCP服务

      DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。

      DHCP获取IP地址的过程:

①  客户端搜索服务端 discover报文---dhcp服务器 方式:广播

②  服务端向客户端响应 ,从地址池选一个可用的ip地址,打上标记,以offer广播的形式发出去

③  客户端request ---服务端,第一个响应的服务端去发

④   ACK确认 提供可用的ip和租期信息

(2)使用DHCP的好处

      ① 减少管理员的工作量

      ② 避免输入错误的可能

      ③ 避免IP地址冲突

      ④ 当网络更改IP地址段时,不需要再重新配置每个用户的IP地址

      ⑤  提高了IP地址的利用率

       ⑥ 方便客户端的配置

(3)DHCP的分配方式

自动分配是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久地使用这个IP地址。

手动分配是由DHCP服务器管理员专门指定IP地址。

动态分配是当DHCP客户机第一次从DHCP服务器获取到IP地址后,并非永久地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用。

二、实验

1.本地DHCP服务器搭建

(1)搭建环境准备

2台centos 7虚拟机,设置为仅主机模式且关闭仅主机模式下的"使用本地DHCP服务将ip地址分配给虚拟机",配置完成后再开机:

 搭建过程中使用虚拟机直接操作若使用xhsell在启动dhcp服务后会断开还是只能到虚拟机上操作。

(2)配置网卡信息

①准备作为客户端的虚拟机只需要将网卡获取ip地址模式修改为dhcp。

 ②准备作为DHCP服务器的虚拟机配一个静态ip地址。

(3)安装DHCP服务

DHCP服务器的虚拟机上安装DHCP服务。

查询软件

安装

 完成安装

(4)配置DHCP地址池

① DHCP服务安装完成后在/etc/dhcp/dhcp.conf中查看dhcp源配置文件的位置。

    发现配置为空。

 ②进到源文件目录下查看具体的dhcp版本。

③将源配置文件拷贝到/etc/dhcp/目录下并命名为dhcpd.conf。

④修改/etc/dhcp/dhcpd.conf文件内容添加dhcp地址池。

 

网段和掩码修改为本机ip的网段掩码

划分地址池ip为192.168.204.201到192.168.204.230

配置划分默认网关为192.168.204.2

 

host主机声明(给单机分配固定的 IP 地址)

 

 (5)关闭安全措施

配置完成后关闭服务以及客户端防火墙和selinux。

 (6)开启服务并验证

①服务端虚拟机开启服务。

 ②客户端需要重启网卡服务并使用ifconfig命令查看ip是否为分配的地址范围

2.问题

(1)分配地址池失败

①查看是否都设置为仅主机模式。

②若是虚拟机开机设置的仅主机模式是否重启过客户端和服务端网络服务。

③查看客户端和服务器的防火墙和selinux是否关闭。

④查看dhcpd服务状态是否正常。

⑤若服务不正常则查看/var/log/messages日志修改错误。

⑥查看客户端网卡配置是否为dhcp动态获取。

⑦检查网卡DNS是否与本机在同一网段,可以直接使用网关做DNS   

(2)重启网络出现报错

①VMWare右下角的网络适配器是否连接,如果没有连接则连接上。

 

 ②  配置网卡静态ip将BOOTPROTO改为static

 ③ UUID相同报错,查看网卡UUID

 ④ vim /etc/syscofig/network-scripts/下多了一个文件,把多余的文件删除或者移动即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux网络服务:网络设置与基础服务1 的相关文章

  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • Linux 上的用户空间能否实现本机代码的抢占式多任务处理?

    我想知道是否可以在 Linux 用户空间的单个进程中实现本机代码的抢占式多任务处理 也就是说 从外部暂停一些正在运行的本机代码 保存上下文 交换到不同的上下文 然后恢复执行 所有这些都由用户空间精心安排 但使用可能进入内核的调用 我认为这可
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 确定我可以向文件句柄写入多少内容;将数据从一个 FH 复制到另一个 FH

    如何确定是否可以将给定数量的字节写入文件句柄 实际上是套接字 或者 如何 取消读取 我从其他文件句柄读取的数据 我想要类似的东西 n how much can I write w handle n read r handle buf n a
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • Windows CE 与嵌入式 Linux [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 现在我确信我们都清楚 Linux 与 Windows 桌面的相对优点 然而 我对嵌入式开发世界的了解却少得多 我主要对行业解决方案感兴
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • Linux 上的基准测试程序

    对于一项任务 我们需要使用不同的优化和参数来对我们的实现进行基准测试 有没有一种可行的方法可以在Linux命令行 我知道时间 上使用不同的参数对小程序进行基准测试 从而为我提供CSV或类似内容的时间数据 输出可能类似于 Implementa
  • Python 脚本作为 Linux 服务/守护进程

    Hallo 我试图让 python 脚本作为服务 守护进程 在 ubuntu linux 上运行 网络上存在多种解决方案 例如 http pypi python org pypi python daemon http pypi python
  • 警告:请求的映像平台 (linux/amd64) 与检测到的主机平台 (linux/arm64/v8) 不匹配

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 docker 来自守护程序的错误响应 无法选择具有功能的设备驱动程序 gpu 我在 mac 上尝试运行此命令时遇到此
  • linux命令中括号的用途是什么[重复]

    这个问题在这里已经有答案了 我在 Linux 终端中运行以下命令 谁能告诉我 Linux 终端中括号和以下命令的用途是什么 echo GET HTTP 1 0 echo 主机 www google com echo 数控 www googl
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials

随机推荐

  • 【Python 笔记】Linux下安装pip方法的全总结

    本文研究记录了 Linux 下安装 pip 的全部方法 文章目录 1 通过 Linux 系统的包管理工具安装 1 1 apt 包管理工具安装 pip 1 1 1 安装 1 1 2 升级 1 1 3 issue5599 1 2 yum 包管理
  • 矩阵分解——谱分解

    文章目录 先修知识 幂等矩阵 谱分解定理 谱分解的流程 谱分解的推论 谱分解的应用 先修知识 幂等矩阵 谱分解定理 谱分解的流程 谱分解的推论 谱分解的应用
  • 浅析Bootstrap中Tab(标签页)的使用方法

    Bootstrap 导航元素使用相同的标记和基类 改变修饰的class 可以在不同的样式间进行切换 如 nav pills 胶囊式导航 与 nav tabs 标签式导航 创建一个标签式的导航菜单 以一个带有class nav 的无序列表开始
  • xxl-job任务操作源码分析(四)

    手动执行任务 页面上点击 执行 按钮 前端会发送一个请求 jobinfo trigger post 请求 param id 任务ID controller最终会调用service的方法进行处理 public ReturnT
  • 浅谈sql中的in与not in,exists与not exists的区别

    1 in和exists in是把外表和内表作hash连接 而exists是对外表作loop循环 每次loop循环再对内表进行查询 一直以来认为exists比in效率高的说法是不准确的 如果查询的两个表大小相当 那么用in和exists差别不
  • js遍历字典

    for var key in data html
  • eclipse使用pthread.h遇到“pthread_create”未定义的问题。

    解决方法 a 需要在编译时添加 lpthread参数 g XXXXX cpp lpthread o XXXXX o b 在eclipse中配置 project gt properties gt c c Build gt GCC C Link
  • 并行前缀加法器 verilog

    并行前缀加法器verilog实现 关于并行前缀加法器的介绍 请看这里 前缀网络用KS树 64位加法器的verilog实现如下 module cal union input g2 p2 g1 p1 output G P assign G g2
  • 用它调试线上 bug,真得劲

    webconsole webconsole 是 arthas 提供的 web 页面 它可以让用户在自己的电脑上 连接远程服务器的 arthas 执行命令 命令的执行方式和在服务器直接操作没有任何区别 webconsole 连接远程服务器成功
  • JS实现弹出子窗口并获取返回值功能

    最近一段时间 所做系统需要实现使用js弹出一个自定义窗口 并且获取窗口的返回值功能 经多方查询未能找到较好的示例 所以无奈之下自己开发了一个弹出式窗口 并稍微封装了一下 废话少说 上代码 父页面弹出窗口示例 c id click funct
  • 原码, 反码, 补码各类应用(转载,出处文末附有链接)

    一 机器数和真值 在学习原码 反码和补码之前 需要先了解机器数和真值的概念 1 机器数 一个数在计算机中的二进制表示形式 叫做这个数的机器数 机器数是带符号的 在计算机用一个数的最高位存放符号 正数为0 负数为1 比如 十进制中的数 3 计
  • 关于eclipse tomcat启动但项目无法启动

    1 报错信息 没有加载spring web引起tomcat自己有启动但是项目没有启动 具体的截图 可以清楚的看到tomcat虽然启动了 但是没有项目启动的信息 2 解决方法 我们在将项目添加至tomcat时会发现该项目并没有将web包加载
  • 解决ubuntu 上QT无法被输入中文的BUG

    项目场景 使用QT FOR ROS在Ubuntu上开发ROS项目 问题描述 不管如何切换输入法的中英文都无法在QT上输入中文 只能输入英文 我用的是fcitx 搜狗输入法 原因分析 我认为时因为缺少了一些依赖或者缺少了一些支持中文的包 解决
  • button效果:从右往左慢慢渐变

    题记 我们工作中会出现一些按钮需要用一些2D的效果 用css会发现很容易做到这样的效果 大部分的思路通过过渡 2D hover事件 以及overflow的之间配合实现button按钮的背景颜色的渐变效果 下边是相关的一些代码
  • AndroidManifest详解之Application(有图更好懂)

    能够包含的标签
  • 如何有效进行RLHF的数据标注?

    编者按 随着大语言模型在自然语言处理领域的广泛应用 如何从人类反馈进行强化学习 RLHF 已成为一个重要的技术挑战 并且RLHF需要大量高质量的人工数据标注 这是一个非常费力的过程 本文作者在数据标注领域具有丰富经验 他在本文深入探讨了RL
  • 【大数据】Kafka 入门指南

    Kafka 入门指南 1 Kafka 简介 2 Kafka 架构 3 分区与副本 4 偏移量 5 消费者组 6 总结 1 Kafka 简介 Apache Kafka 是一种高吞吐 分布式的流处理平台 由 LinkedIn 开发并于 2011
  • makefile和make简单笔记

    1 makefile和make的关系 make命令相当于makefile的解析器 2 makefile基本格式 3 make的简单原理 linux文件的数据部分会记录文件的访问和修改时间 atime mtime ctime make会获取依
  • Log4j2 RCE漏洞及靶场搭建

    漏洞简介 Apache Log4j2是一款Java日志框架 是Log4j 的升级版 可以控制每一条日志的输出格式 通过定义每一条日志信息的级别 能够更加细致地控制日志的生成过程 该漏洞是由于Apache Log4j2某些功能存在递归解析功能
  • Linux网络服务:网络设置与基础服务1

    目录 一 理论 1 查看网络配置 2 测试网络连接 3 使用网络配置命令 4 修改网络配置文件 5 DHCP服务 二 实验 1 本地DHCP服务器搭建 2 问题 一 理论 1 查看网络配置 1 使用ifconfig命令查看网络接口地址 主机