首页 > 系统相关 >Linux基础之网络管理

Linux基础之网络管理

时间:2024-05-01 11:44:23浏览次数:25  
标签:service 网络管理 -- sudo 基础 firewalld 防火墙 systemctl Linux

目录

Linux 网络管理涉及一系列任务,包括配置网络接口、设置IP地址、管理网络服务和防火墙等。

网络配置

网卡命名

根据网络接口定义设备:

  • ethX 传统的以太网接口命名方式,其中 X 通常是数字,如 eth0 等

  • wlanX 用于无线网卡接口,类似于 wlan0 等

不同的发行版和内核版本网卡命名规则会有所不同,可以使用命令 ls /sys/class/net/ 来查看系统中的网卡接口。

其中默认存在的 lo 是指环回(loopback)接口,环回接口的 IP 地址通常是 127.0.0.1,也称为本地回环地址。

网卡配置

ifconfig 命令用于查看和配置网络接口信息。

sudo ifconfig eth0 up            # 启用 eth0 接口

sudo ifconfig eth0 down          # 禁用 eth0 接口

sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up  # 设置IP地址和子网掩码

其他命令包括 ip、nmcli 等都大同小异。

网络配置文件

配置静态IP地址,在 Ubuntu 中配置静态 IP 地址可以通过编辑网络配置文件来完成。

使用 NetworkManager 的方法:

  1. 编辑网络接口配置文件
sudo vim /etc/network/interfaces
  1. 编辑静态IP地址、网关和DNS服务器的
auto eth0
iface eth0 inet static
    address 192.168.1.100   # 静态 IP 地址
    netmask 255.255.255.0   # 掩码
    gateway 192.168.1.1     # 网关
    dns-nameservers 8.8.8.8 8.8.4.4   # DNS 服务器
  1. 保存并退出编辑器,重新启动网络服务
sudo systemctl restart NetworkManager

还有通过 netplan 管理网络的方式。

服务管理

systemctlservice 都是用于管理系统服务的命令行工具。

systemctl是在较新版本的Linux中引入的系统和服务管理工具,如systemd。service命令是传统 SysVinit系统中用来管理系统服务的工具。

在许多Linux发行版中,service命令实际上是systemctl命令的一个符号链接,以向后兼容。

使用 systemctl 启动、停止和重启网络服务:

sudo systemctl status network.service # 查看服务状态
sudo systemctl start network.service # 启动服务
sudo systemctl stop network.service # 停止服务
sudo systemctl restart network.service # 重启服务
sudo systemctl enable network.service # 设置开机自启动
sudo systemctl disable network.service # 禁用开机自启动

service和systemctl相比除了参数的位置不同,其他一致。

防火墙配置

常用的Linux防火墙工具包括 iptablesfirewalld,用于配置和管理Linux的防火墙规则

Netfilter是Linux内核中用于实现数据包过滤和网络地址转换功能的框架,iptables和firewalld都是基于Netfilter框架实现的工具。。iptables是传统的Linux防火墙工具,而firewalld则是较新的动态防火墙管理器。

重点关注firewalld防火墙,它支持动态更新技术并加入了区域的概念。

firewalld中常见的区域名称(默认为public)以及相应的策略规则:

区域 默认规则策略
阻塞区域 (block) 拒绝流入的流量,除非与流出的流量相关
工作区域 (work) 拒绝流入的流量,除非与流出的流量相关
家庭区域 (home) 拒绝流入的流量,除非与流出的流量相关
公共区域 (public) 不相信网络上的任何计算机,只有选择接受传入的网络连接
隔离区域 (DMZ) 隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
信任区域 (trusted) 允许所有的数据包
丢弃区域 (drop) 拒绝流入的流量,除非与流出的流量相关
内部区域 (internal) 等同于home区域
外部区域 (external) 拒绝流入的流量,除非与流出的流量有关;而如果流量与ssh服务相关,则允许 流量

firewall-cmd 是用于管理 firewalld 防火墙的命令行工具:

查看防火墙状态:

firewall-cmd --state

启动/停止/重启 firewalld 服务:

systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld

开启/关闭 firewalld 服务:

systemctl enable firewalld
systemctl disable firewalld

查看所有防火墙规则:

firewall-cmd --list-all

添加/移除端口:

firewall-cmd --add-port=PORT/PROTOCOL
firewall-cmd --remove-port=PORT/PROTOCOL

添加/移除服务:

firewall-cmd --add-service=SERVICE
firewall-cmd --remove-service=SERVICE

重载防火墙规则:

firewall-cmd --reload

如果想让策略一直存在,需要在firewall-cmd命令设置防火墙策略时添加 --permanent 参数。

例如

配置在172.24.8.0 网段的主机访问服务器的5423端口被转发到80端口:

firewall-cmd --zone=public --add-forward-port=port=5423:proto=tcp:toport=80:toaddr=SERVER_IP --source=172.24.8.0/24

文件下载wget和curl

curlwget 都是在命令行下使用的用于下载文件的工具。wget专门用于下载文件,不支持发送请求。curl不仅能下载,还可以发送各种类型的请求,使用代理等。

curl 命令常用的参数:

  • -X, --request 指定 HTTP 请求方法,如 GET、POST、PUT、DELETE 等

  • -d, --data 发送 POST 请求时使用的数据

  • -H, --header 添加额外的请求头信息

  • -i, --include 在输出中包含 HTTP 头信息

  • -o, --output 将响应输出到指定文件

  • -O, --remote-name 将远程文件保存到本地,使用远程文件的文件名

  • -L, --location 遵循重定向

  • -v, --verbose 显示详细的操作信息,包括请求和响应的头信息

  • -A, --user-agent 设置用户代理字符串

wget 命令常用的参数:

  • -O, --output-document 将下载的文件保存为指定的文件名

  • -P, --directory-prefix 将下载的文件保存到指定目录下

  • -r, --recursive 递归下载,下载指定 URL 下的所有链接

  • -t, --tries 设置重试次数

  • -b, --background 后台下载模式

  • -U, --user-agent 设置用户代理字符串

  • --limit-rate= 限制下载速率

网络连接信息netstat和ss

ssnetstat 都是用于查看系统网络连接信息的命令行工具。ss是一个更现代的工具,使用更快的内核数据源,并且在处理大量连接时性比netstat更好,能够显示更多的详细信息。netstat 是一个更传统的工具,用于显示网络连接、路由表、接口统计信息等。

ss 命令的一些常用选项:

  • -t 显示TCP套接字

  • -u 显示 UDP 套接字

  • -l 显示监听状态的套接字

  • -a 显示所有连接状态的套接字

  • -p 展示使用socket的进程

  • -n 不解析服务名

  • -i 更多详细信息

netstat 命令的一些常用选项:

  • -a 显示所有连接和监听端口

  • -n 以数字形式显示地址和端口号,而不是尝试反解析主机名和服务名

  • -t 仅显示 TCP 协议相关的连接

  • -u 仅显示 UDP 协议相关的连接

  • -l 仅显示正在监听的套接字

  • -p 显示每个套接字关联的进程 ID 和进程名称

通常ss和netstat会和grep命令结合,快速找到符合条件的网络连接信息。

比如

netstat -antlp | grep 80

# 找到端口为80的TCP网络连接信息

若有错误,欢迎指正!o( ̄▽ ̄)ブ

标签:service,网络管理,--,sudo,基础,firewalld,防火墙,systemctl,Linux
From: https://www.cnblogs.com/smileleooo/p/18162454

相关文章

  • 基础
    计算机组成原理计算机硬件的组成 #计算机硬件通常由以下几个部分组成:1.中央处理器(CPU):负责执行计算机指令,完成各种计算和逻辑操作。2.存储器(Memory):用于存储计算机执行程序所需的数据和指令,包括主存(RandomAccessMemory,RAM)和辅助存储器(如硬盘、光盘等)。磁盘(......
  • 瑞芯微-I2S | ALSA基础-3
    针对音频设备,linux内核中包含了两类音频设备驱动框架;OSS:开放声音系统包含dsp和mixer字符设备接口,应用访问底层硬件是直接通过sound设备节点实现的;ALSA:先进linux声音架构(AdvancedLinuxSoundArchiecture)以card和组件(PCM、mixer等)为组件,应用是通过ALSA提供的alsa-lib库访......
  • 学会使用 NumPy:基础、随机、ufunc 和练习测试
    NumPyNumPy是一个用于处理数组的Python库。它代表“NumericalPython”。基本随机ufunc通过测验测试学习检验您对NumPy的掌握程度。通过练习学习NumPy练习练习:请插入创建NumPy数组的正确方法。arr=np.([1,2,3,4,5])示例创建NumPy数组:importnumpy......
  • 猿代码 Linux基础操作
    Linux基础操作常用操作命令--help#获取/home/user/soft/bin/myexe#执行第三方程序./myexe#当前目录下执行第三方程序whoami#用户名称hostname#服务器名称当前所使用的节点lscpu#查看cpu信息free-h#查看内存信息top#查看哪些进程在运行lsls-l#详细列表显示......
  • 嵌入式Linux,openssh连接报错:ssh_sandbox_violation: unexpected system call
     背景:使用buildroot编译完镜像,烧录到开发板,板子上电启动后,网络正常,ssh不能连接,sshd相同配置在其他机器上可以正常使用;查看内核日志,看到连接时上报异常系统调用的错误:Jan100:01:18NanoPC-T2auth.critsshd[278]:fatal:ssh_sandbox_violation:unexpectedsystemcall......
  • 03.Java 基础语法
    1.注释、标识符、关键字三种注释单行注释://多行注释:/*多行注释*/文档注释:/***@DescriptionHelloWorld*@Authorxxx*/标识符关键字Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符2.数据类型强类型语言:要求变量的使用严格符合规定,......
  • Linux 修改时间
    Linux修改系统时间的两种方式-知乎(zhihu.com)debian安装NTP并设置自动时间同步_debianntpdate-CSDN博客命令修改root@debian:~#date-s"2024-04-3016:43:10"2024年04月30日星期二16:43:10CSTroot@debian:~#root@debian:~#root@debian:~#date2024年04月......
  • 软件设计师基础学习 四
    四、数据库技术基础4.1数据库基本概念4.1.1数据库系统数据:是数据库中存储的基本对象,是描述事务的符号记录数据库DB:是长期存储在计算机内、有组织的、可共享的大量数据的集合数据库的基本特征:数据按照一定的数据模型组织、描述和存储可为各种用户共享冗余度较小......
  • Linux基础之用户和组
    目录用户的分类关于用户的操作添加用户useradd设置用户的属性usermod设置用户的密码passwd删除用户userdel用户权限控制sudo关于用户组的操作Linux是一个多用户多任务的分时操作系统,为了对文件和资源进行更好的权限管理,产生了用户和组。在Linux中,每个用户都有一个唯一的用户标识......
  • Linux安装jmeter
     1、安装jdk2、安装jmeter1.新建一个存放安装包的文件夹命令:mkdir  /home/jmeter2.将下载的安装包传到该文件夹3.解压安装包进入安装目录。输入命令:cd/home/jmeter 输入命令:tarzxvf apache-jmeter-5.4.2.tgz 4.修改配置文件/etc/profile,配置环境变量(......