linux-网络管理-网络配置

Linux 网络管理与网络配置

在Linux系统中,网络管理是系统管理员的重要职责之一。网络配置包括如何配置网络接口、管理IP地址、网关、DNS等核心网络设置。现代Linux系统提供了多种工具用于网络管理,既包括传统的命令行工具,也包括现代的网络管理服务,如NetworkManager


1. 网络接口与IP地址配置

Linux系统中,网络接口通常表示为eth0eth1(有线网络接口)或wlan0wlp2s0(无线网络接口)等。这些接口用于连接网络,通过它们可以配置网络连接的各种参数,如IP地址、子网掩码、网关等。

ifconfig——传统工具

ifconfig是传统的网络接口配置工具,虽然在现代Linux系统中它逐渐被ip命令替代,但很多用户依然使用它。下面是一些常见的ifconfig命令:

  • 查看网络接口信息

    ifconfig
    

    该命令会列出所有的网络接口及其状态(包括已分配的IP地址、网络掩码等)。

  • 配置IP地址

    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    

    该命令为eth0接口配置静态IP地址192.168.1.100和子网掩码255.255.255.0

  • 启用/禁用网络接口

    • 启用接口:
      sudo ifconfig eth0 up
      
    • 禁用接口:
      sudo ifconfig eth0 down
      

注意:在现代Linux系统中,ifconfig逐渐被弃用,建议使用ip命令。

ip——现代工具

ip命令是iproute2工具包的一部分,用于管理Linux网络。它功能强大,可以取代ifconfig进行更复杂的网络配置操作。

  • 查看网络接口状态

    ip addr
    

    该命令类似于ifconfig,用于显示所有网络接口及其状态。

  • 为接口配置IP地址

    sudo ip addr add 192.168.1.100/24 dev eth0
    

    该命令为eth0接口配置IP地址192.168.1.100,子网掩码为24(即255.255.255.0)。

  • 删除IP地址

    sudo ip addr del 192.168.1.100/24 dev eth0
    
  • 启用/禁用网络接口

    • 启用接口:
      sudo ip link set eth0 up
      
    • 禁用接口:
      sudo ip link set eth0 down
      
  • 查看路由表

    ip route show
    
  • 添加默认网关

    sudo ip route add default via 192.168.1.1
    
网络接口配置文件

在Debian和Ubuntu等基于Debian的Linux系统中,网络接口的配置文件通常位于/etc/network/interfaces。通过编辑该文件,可以配置静态IP、DHCP以及其他网络设置。

  • 配置静态IP地址
    /etc/network/interfaces中,配置静态IP地址可以如下进行:

    auto eth0
    iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1
    
  • 配置DHCP
    如果希望通过DHCP自动获取IP地址,配置如下:

    auto eth0
    iface eth0 inet dhcp
    

修改完配置文件后,可以通过以下命令重新加载网络配置:

sudo systemctl restart networking

2. DHCP配置

DHCP 客户端

Linux系统默认通过DHCP(动态主机配置协议)获取IP地址,尤其是在桌面系统中非常常见。dhclient是大多数Linux发行版中用于管理DHCP的工具。

  • 手动请求DHCP IP地址
    如果想手动请求DHCP分配IP地址,可以使用以下命令:

    sudo dhclient eth0
    

    该命令会从DHCP服务器请求IP地址并分配给eth0接口。

  • 释放DHCP IP地址
    可以使用以下命令释放当前的DHCP IP地址:

    sudo dhclient -r eth0
    
DHCP 服务器

如果需要在Linux系统上配置DHCP服务器,可以使用isc-dhcp-server或其他类似工具。下面是isc-dhcp-server的配置示例。

  • 安装DHCP服务器

    sudo apt install isc-dhcp-server
    
  • 编辑DHCP服务器配置文件
    DHCP服务器的主要配置文件为/etc/dhcp/dhcpd.conf。配置一个简单的DHCP范围的例子如下:

    subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.100 192.168.1.200;option routers 192.168.1.1;option domain-name-servers 8.8.8.8, 8.8.4.4;option domain-name "example.com";
    }
    
  • 启动DHCP服务器
    配置完成后,启动DHCP服务器:

    sudo systemctl start isc-dhcp-server
    

3. 路由配置

路由是网络管理的核心之一,Linux系统通过路由表来决定数据包如何转发到目标地址。使用ip命令可以非常灵活地管理路由。

  • 查看当前路由表

    ip route
    
  • 添加静态路由
    假设要添加到网络10.0.0.0/24的静态路由,可以使用以下命令:

    sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
    
  • 删除静态路由

    sudo ip route del 10.0.0.0/24
    
  • 设置默认网关
    默认网关是所有非本地数据包发送的默认出口,可以通过以下命令设置默认网关:

    sudo ip route add default via 192.168.1.1
    

4. DNS 配置

DNS(域名系统)是将域名解析为IP地址的服务,Linux系统通过配置DNS服务器来解析域名。

配置DNS服务器

在大多数Linux发行版中,DNS服务器配置文件位于/etc/resolv.conf。在该文件中,可以添加DNS服务器。

  • 手动配置DNS服务器
    编辑/etc/resolv.conf文件并添加以下内容:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
    这会将Google的公共DNS服务器(8.8.8.8和8.8.4.4)配置为DNS解析服务器。
永久DNS配置

/etc/resolv.conf文件的内容在某些系统中会被自动重写,例如当使用dhclientNetworkManager时。为了永久配置DNS,建议通过相应的网络配置工具(如/etc/network/interfacesNetworkManager)进行设置。

对于Debian/Ubuntu,编辑/etc/network/interfaces文件并在接口配置中添加dns-nameservers行:

auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4

5. NetworkManager——现代网络管理工具

NetworkManager是现代Linux发行版中广泛使用的网络管理工具。它提供了GUI和CLI工具,简化了有线和无线网络的管理,特别适合桌面环境。对于服务器,NetworkManager也是一项强大的工具,尤其是需要处理动态网络设置时。

nmcli——命令行工具
  • 查看网络状态

    nmcli device status
    
  • 连接到Wi-Fi

    nmcli device wifi connect "SSID" password "password"
    
  • 配置静态IP地址

    nmcli connection modify eth

0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual


- **启用/禁用网络接口**
- 启用接口:```bashnmcli device connect eth0```
- 禁用接口:```bashnmcli device disconnect eth0```---### 6. 防火墙与网络安全网络配置的一个重要方面是确保系统的网络安全。`iptables`和`ufw`是Linux中常用的防火墙工具。#### iptables——强大的防火墙工具`iptables`是Linux内核的一个包过滤框架,用于配置、维护和检查IP数据包的过滤规则。下面是一些基本的`iptables`命令:- **查看规则**
```bash
sudo iptables -L
  • 允许SSH访问

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  • 阻止特定IP的访问

    sudo iptables -A INPUT -s 192.168.1.10 -j DROP
    
UFW——简单防火墙

UFW(Uncomplicated Firewall)是Ubuntu及其衍生发行版中的默认防火墙工具,用于简化iptables的配置。

  • 启用UFW

    sudo ufw enable
    
  • 允许SSH连接

    sudo ufw allow ssh
    
  • 查看UFW状态

    sudo ufw status
    

总结

Linux系统的网络管理涵盖了从基本的网络接口配置到复杂的路由和防火墙设置。传统工具如ifconfigdhclient,现代工具如ip命令和NetworkManager,共同为管理员提供了灵活和强大的管理手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/54743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端——阿里图标的使用

阿里图标 将小图标定义成字体,通过引入字体的方式来展示这些图标 1.打开阿里图标库 https://www.iconfont.cn/ 2.登录 / 注册一个账号 3.选中你需要使用的图标 并且把它加入购物车 4.全部选择完之后 点击右上角 购物车 然后下载代码 5.解压后你下载的文…

Web+Mysql——MyBatis

MyBatis 目标 能够完成Mybatis代理方式查询数据能够理解Mybatis核心配置文件的配置 1,Mybatis 1.1 Mybatis概述 1.1.1 Mybatis概念 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由…

面试面经|大模型算法岗常见面试题100道

本文提供了一份全面的大模型算法岗位面试题清单,包括基础理论、模型结构、训练微调策略、应用框架、分布式训练和模型推理等方面的知识点,旨在帮助求职者准备相关技术面试。 一、基础篇 1、目前主流的开源模型体系有哪些? Transformer体系&a…

neo4j(spring) 使用示例

文章目录 前言一、neo4j是什么二、开始编码1. yml 配置2. crud 测试3. node relation 与java中对象的关系4. 编码测试 总结 前言 图数据库先驱者 neo4j:neo4j官网地址 可以选择桌面版安装等多种方式,我这里采用的是docker安装 直接执行docker安装命令: docker run…

zabbix“专家坐诊”第256期问答

原作者:乐维社区 原文链接:https://forum.lwops.cn/questions 问题一 Q:zabbix 6.4.18版本的,使用zabbix_agentd2监控mysql数据库,只能在界面配置mysql的相关信息吗?这个在zabbix表里面是明文存储的&#x…

力扣反转链表系列【25. K 个一组翻转链表】——由易到难,一次刷通!!!

力扣《反转链表》系列文章目录 刷题次序,由易到难,一次刷通!!! 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表 题解325. K 个一组翻转…

在python爬虫中xpath方式提取lxml.etree._ElementUnicodeResult转化为字符串str类型

简单提取网页中的数据时发现的 当通过xpath方式提取出需要的数据的text文本后想要转为字符串,但出现lxml.etree._ElementUnicodeResult的数据类型不能序列化,在网上查找到很多说是编码问题Unicode编码然后解码什么的;有些是(导入的xml库而不…

Java : 图书管理系统

图书管理系统的作用: 高效的图书管理 图书管理系统通过自动化管理,实现了图书的采编、编目、流通管理等操作的自动化处理,大大提高了图书管理的效率和准确性。 工作人员可以通过系统快速查找图书信息,实时掌握图书的借还情况&…

【Java】Java中接口与内部类详解

目录 引言 一、接口(Interface) 1.1 接口的定义 1.1.1 接口的特点 1.2 接口的实现 1.3 接口的继承 1.4 接口的注意事项 1.5 代码示例 二、内部类(Inner Class) 2.1 内部类特点 2.2 成员内部类 2.2.1 对象的创建 2.…

红外热成像应用场景!

1. 电力行业 设备故障检测:红外热成像仪能够检测电气设备(如变压器、电线接头)的过热现象,及时发现并定位故障点,预防火灾等安全事故的发生。 水电站查漏:在水电站中,红外热成像仪可用于快速查…

【LLM学习之路】9月22日 第九天 自然语言处理

【LLM学习之路】9月22日 第九天 直接看Transformer 第一章 自然语言处理 自然语言处理发展史 只要看的足够多,未必需要理解语言 统计语言模型发展史 统计语言模型: 判断一个句子是否合理,就计算这个句子会出现的概率 缺点是句子越长越…

掌握Python办公自动化,轻松成为职场高效达人

大家好,今天我们来聊聊为什么要学习和了解Python办公自动化? "自动化应用于高效运营将提高效率" ——比尔盖茨 在日常的工作中,存在很多重复性、规律性的工作。虽然现在有很多办公软件能够在一些方面提高工作效率,但无法…

基于FPGA+GPU异构平台的遥感图像切片解决方案

随着遥感和成像技术的不断进步和普及,获取大量高分辨率的遥感图像已成为可能。这些大规模的遥感图像数据需要进行有效的处理和分析,以提取有用的信息,进行进一步的应用。遥感图像切片技术应运而生,该技术可以将大型遥感图像分割成…

python-在PyCharm中使用PyQt5

文章目录 1. 安装 PyQt5 和QtTools2. QtDesigner 和 PyUIC 的环境配置2.1 在 PyCharm 添加 Create Tools2.2 添加 PyUIC 工具 3. 创建ui界面4. 使用python调用ui界面参考文献 1. 安装 PyQt5 和QtTools QT 是最强大的 GUI 库之一,PyQt5 是 Python 绑定 QT5 应用的框…

增强GPT4v的Grounding能力,video-level

开源链接: appletea233/AL-Ref-SAM2: AL-Ref-SAM 2: Unleashing the Temporal-Spatial Reasoning Capacity of GPT for Training-Free Audio and Language Referenced Video Object Segmentation (github.com) In this project, we propose an Audio-Language-Refe…

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中,手写数字识别是一个经典的入门级问题,它不仅能够帮助我们理解深度学习的基本原理,还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅,从数据集介绍、模型构建到…

vue Echart使用

一、在vue中使用Echarts 1.安装Echarts npm install echarts --save2.准备一个呈现图表的盒子 给盒子起名字是建议使用id选择器 这个盒子通常来说就是我们熟悉的 div &#xff0c;这个 div 决定了图表显示在哪里&#xff0c;盒子一定要指定宽和高 <div id"main&quo…

性能测试问题诊断-接口耗时高

问题现象&#xff1a;近期发现每晚跑的定时压测任务&#xff0c;压测结果中&#xff0c;各接口耗时变高&#xff08;原来99耗时<3秒&#xff0c;当前99耗时>20秒)。 问题排查&#xff1a; 查看jmeter 生成的结果图&#xff0c;发现压测2分钟后出现接口耗时变高情况。如下…

【ShuQiHere】 探索数据挖掘的世界:从概念到应用

&#x1f310; 【ShuQiHere】 数据挖掘&#xff08;Data Mining, DM&#xff09; 是一种从大型数据集中提取有用信息的技术&#xff0c;无论是在商业分析、金融预测&#xff0c;还是医学研究中&#xff0c;数据挖掘都扮演着至关重要的角色。本文将带您深入了解数据挖掘的核心概…

如何快速上手一个Github的开源项目

程序研发领域正是有一些热衷开源的小伙伴&#xff0c;技能迭代才能如此的迅速&#xff0c;因此&#xff0c;快速上手一个GitHub上的开源项目&#xff0c;基本上已经变成很个程序员小伙伴必须掌握的技能&#xff0c;因为终究你会应用到其中的一个或多个项目&#xff0c;帮助自己…