标签: Linux

观云 | 2024-06-10 | Linux

深入探讨:Linux防火墙配置详解及iptables与firewalld的使用

1 防火墙定义 1. 防火墙是一种高级访问控制设备,置于不同网络安全域之间,他通过相关的安全策略来控制(允许,拒绝,监视,记录)进出网络的访问行为。 2. 防火墙是一组规则,当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会根据防火墙规则进行检测,以确定是否允许其通过。 2 防火墙分类 硬件防火墙 软件防火墙 主机防火墙 网络防火墙 --- 3 iptables 3.1 iptables 四表五链 3.1.1 功能(表) filter:防火墙过滤数据包,默认表 nat:网络地址转换(network address translation) mangle:拆分,做出修改 raw:关闭nat表上启用的连接追踪功能 3.1.2 链 PREROUTING (previous routing路由前) INPUT OUTPUT FORWARD POSTROUTING (postpone routing路由后) ![图片](https:/

 306 |  0 |  0 Linux

iron Man | 2024-05-30 | Linux

教你如何在 Linux 上划分VLAN

在某些场景中,我们希望在Linux服务器(CentOS / RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vlan。 假设我们有一个Linux服务器,其中有两个 以太网卡 (ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(将在数据流网卡上分配来自不同vlan的多个ip)。 假设从交换机连接到服务器数据流量网卡的端口被配置为Trunk,通过映射多个vlan到它。下面是映射到数据流量网卡的vlan: VLAN ID (200),172.168.10.0/24 VLAN ID (300),172.168.20.0/24 在CentOS 7 /RHEL 7 / CentOS 8 /RHEL 8系统上使用VLAN标记接口,必须加载内核模块8021q。 使用以下命令加载内核模块“8021q”  先列出模块,发现没有8021q模块。 [root@localhost  ]  lsmod 

 248 |  0 |  0 Linux

雪千寻 | 2024-05-23 | Linux

一顿饭的事儿,搞懂Linux5种IO模型

Linux里有五种IO模型: 阻塞IO 、 非阻塞IO 、 多路复用IO 、 信号驱动式IO 和 异步IO ,我发现这五种IO模型,其实能和吃饭这件事关联起来。 阻塞IO(Blocking I/O) 阻塞IO是最常见的IO模型。 当发起一个IO操作时,比如读取数据,系统会调用read()函数。如果请求的数据没有准备好,此时进程会被挂起(blocked),进入等待状态。直到数据准备好,而且复制到应用进程的缓冲区,这时候才会返回。 从调用到返回,整个时间段都是阻塞的,所以被称为阻塞IO。 阻塞IO 就像是手机没电的时候,去饭馆吃饭,我点完菜,只能等着厨师做好,服务员端上来,我才能愉快干饭。这段时间,我就只能坐在座位上干等。 非阻塞IO(Non-Blocking I/O) 阻塞IO,还是比较浪费资源的,那么非阻塞IO就来了。 所谓非阻塞IO,是在调用IO操作时,如果缓冲区没有数据的话,直接返回一个错误码。应用进程需要不断...

 188 |  0 |  0 Linux

花小染 | 2024-05-16 | Linux

18 个 Linux 命令,新手可以学习下!

如果你是 Linux 新手很有必要学习一些常用基础的 linux 命令,熟练掌握一些基础的 Linux 命令,将会让你更好的使用linux系统,并会对你的工作和学习有所帮助。 下面就让我们看下 18 个基础的 linux 命令都是什么。 01、ls 命令 通过输入基本 Linux命令 ls ,您可以看到我们的目录中的内容。 [root@localhost usr]  ls bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp [root@localhost usr]   输入 ls -l 命令,在目录文件和文件夹列表中显示。 [root@localhost usr]  ls -l 总用量 188 dr-xr-xr-x.   2 root root 61440 7月  15 16:08 bin drwxr-xr-x.   2 root root  4096 9月  23 2011 etc drwxr-xr-x.   2 root root  4

 232 |  0 |  0 Linux

心如止水 | 2024-04-23 | Linux

如何选择最合适自己的 linux 系统 ?

Linux 系统从来都不是一个大众的桌面操作系统,它被普罗大众所知更是少之又少。普罗大众更多知道的是 Windows 系统,MacOS系统,而非 Linux 系统。 Linux 系统在特定领域,特定人群是一个被普遍熟知的系统,那就是IT领域,IT人员。因为几乎所有的服务器大多采用 Linux 作为操作系统,因为免费,因为稳定,因为高效,因为服务器软件生态链丰富。 Linux 系统不被普通大众所知,因为他们不需要用 Linux 系统,接触到的几乎也都是 Windows 系统,追求高逼格也是 MacOS 系统。更多时候在大众眼中,没有所谓的系统,只有电脑,各种重品牌电脑:华为,联想,戴尔,苹果等等。 但如果你不经意间了解到了 Linux 系统,有兴趣尝试 Linux 系统,希望摆脱 Windows 系统烦人的广告,Linux 都是一个值得尝试的选项。 那么多对于你如何选择好适合自己的 Linux 系统呢? 之前,我曾经建议新手一定要先尝试中文的 Linux 发行系统 Deepin 和 UbuntuKylin 。因为它们对中文用户都非常友好,自带的应用商店可以让新手对于找...

 201 |  0 |  0 Linux

念旧。 | 2024-04-18 | Linux

linux 路由网关-生产常见问题

关于linux的默认网关 默认网关是一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。 linux装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的ip设法。 1.一块网卡的情况 通过命令address,netmask,gateway然后netwok restart。 2.两块网卡的情况 1).一个网关的情况 这种情况也简单,一个网卡设一个ip,其中一个网卡不设置gateway就ok了。这样上网的时候走带网关的那边,这台机器还能和不带网关的那个网络通讯。这种情况在利用linux当路由器或者代理网关的时候比较常见。 2).两个网关的情况...

 447 |  0 |  0 Linux

布朗熊 | 2024-04-15 | Linux

我为什么使用 Linux 做开发?

系统选择 目前市面上主流的桌面操作系统在大多数人眼里只有Windows和MacOS,那为什么我没选择它们两呢? 首先,不选MacOS的原因,就是太贵。当然这是我的原因不是苹果的原因,我最早使用Linux写代码的时候是2018年,那时候刚毕业上班不久,根本买不起Mac(虽然现在也觉得有点贵)。 在没有接触Linux之前,我也是使用Winows的。众所周知,其实Windows也是收费的,那时候用的基本是破解版本的Windows系统。虽然当时买笔记本电脑会预装Windows系统,但是预装的基本都是家庭版。 依稀记得当时Windows家庭版无法开启某些Windows功能(没记错的话当时是无法开启Windows的虚拟化功能),所以就算我买了预装Windows系统的笔记本电脑,依然还是需要自行重装Windows专业版系统,那时候就是使用激活软件破解Windows专业版。 但是作为程序员,我个人是不喜欢去破解软件的,因为我不想以后我写的软件也被别人破解。然后在某些机缘巧合之下,我加入了一些Linux爱好者社区,慢慢开始接触 Linux桌面 。 重新认识Linux 我第...

 269 |  0 |  0 Linux

温酒 | 2024-04-12 | Linux

这些 Linux 脚本很有用,赶紧收藏起来!

这些 Linux 脚本很有用,赶紧收藏起来! Linux 脚本?准确的说叫 Linux Shell 脚本,Shell 脚本是一种被设计用来运行命令行解释器,他是 Linux 系统的一大特色之一。 命令行是 Linux 系统中一种非常重要的交互方式,而它的实现基于 Linux 内核和 Shell 程序,为用户提供了强大和灵活的操作方式。 使用 Linux 系统会点 Linux 脚本非常有用,它可以让你的工作即轻松又高效! 下面是收集整理的部分 Linux 脚本,欢迎收藏! 1、列出排名前10的内存占用进程 ps aux | sort -rk 4,4 | head -n 10 2、iptables 自动屏蔽访问网站频繁的IP 使用场景:针对恶意访问网站情况 根据访问日志(以 nginx 的 logs 中记录访问的 access.log 日志文件为例,检测短期访问大于100的IP,并使用iptables命令进行屏蔽,同时将禁用的IP放到/tmp/deny_ip.log文件中) !/bin/bash DATE=$(date +%

 217 |  0 |  0 Linux

雨馨 | 2023-05-24 | Linux

Linux后台开发调试经验分享

毕业超过十年了,感慨岁月无情。做了若干年后台开发(之前做电信领域),大致说一下常见的开发心得和调试手段。使用互联网这么多年,收获的很多,总结的很少。本着互联网精神,希望可以帮到互联网另一端的你。由于本人是做 C 语言的开发,陈述的经验也是 C 常用的调试手段。 调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。 而调试的目的是什么,找到 BUG。想当年一个高手比喻的好:你找 BUG 其实你就是福尔摩斯,为啥是福尔莫斯呢?想想你看到 BUG 案发现场--合格的程序都有日志、dump 内存、计数等基本案发现场吧。嗯,什么都没有,找写代码的人自己查。找问题就是在众多信息中,抽丝剥茧,找到疑点、反复推演程序运行的代码,最终找到作案的那一行或者几行代码。 这个过程很折磨人,没有任何眉目时,令人茶不思饭不想。找到问题问题后,如打鸡血般兴奋,自己也会陶醉般飘飘然。真正...

 486 |  0 |  0 Linux

孤音 | 2023-05-02 | Linux

从Linux零拷贝深入了解Linux-I/O

本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。 前言 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性: 速度足够快:存储器的存取速度应当快于 CPU 执行一条指令,这样 CPU 的效率才不会受限于存储器; 容量足够大:容量能够存储计算机所需的全部数据; 价格足够便宜:价格低廉,所有类型的计算机都能配备。 但是现实往往是残酷的,我们目前的计算机技术无法同时满足上述的三个条件,于是现代计算机的存储器设计采用了一种分层次的结构: 从顶至底,现代计算机里的存储器类型分别有: 寄存器、高速缓存、主存和磁盘 ,这些存储器的速度逐级递减而容量逐级递增。 存取速度最快的是 寄存器 ,因为寄存器的制作材料和 CPU 是相同的,所以速度和 CPU 一样快,CPU 访问寄存器是没有时延的,然而因为价格昂贵,因此容量也极小,一般 32...

 616 |  0 |  0 Linux

后端小二 | 2023-03-07 | Linux

Linux 中 CPU 利用率是如何算出来的?

在线上服务器观察线上服务运行状态的时候,绝大多数人都是喜欢先用 top 命令看看当前系统的整体 cpu 利用率。例如,随手拿来的一台机器,top 命令显示的利用率信息如下 这个输出结果说简单也简单,说复杂也不是那么容易就能全部搞明白的。例如: 问题 1:top 输出的利用率信息是如何计算出来的,它精确吗? 问题 2:ni 这一列是 nice,它输出的是 cpu 在处理啥时的开销? 问题 3:wa 代表的是 io wait,那么这段时间中 cpu 到底是忙碌还是空闲? 今天我们对 cpu 利用率统计进行深入的学习。通过今天的学习,你不但能了解 cpu 利用率统计实现细节,还能 nice、io wait 等指标有更深入的理解。 区别于以往的文章,今天我们不直接进入 Linux 实现,而是先从自己的思考开始! 一、先思考一下 抛开 Linux 的实现先不谈,如果有如下需求,有一个四核服务器,上面跑了四个进程。 ![图片](http...

 577 |  0 |  0 Linux

观云 | 2023-03-06 | Linux

在 WebAssembly 中使用 C/C++ 和 libbpf 编写 eBPF 程序

eBPF(extended Berkeley Packet Filter)是一种高性能的内核虚拟机,可以运行在内核空间中,用来收集系统和网络信息。随着计算机技术的不断发展,eBPF 的功能日益强大,进而被用来构建各种效率高效的在线诊断和跟踪系统,以及安全的网络和服务网格。 WebAssembly(Wasm)最初是以浏览器安全沙盒为目的开发的,发展到目前为止,WebAssembly 已经成为一个用于云原生软件组件的高性能、跨平台和多语言软件沙箱环境,Wasm 轻量级容器也非常适合作为下一代无服务器平台运行时,或在边缘计算等资源受限的场景高效执行。 现在,借助 Wasm-bpf 编译工具链和运行时,我们可以使用 Wasm 将 eBPF 程序编写为跨平台的模块,同时使用 C/C 或 Rust 来编写 Wasm 程序。通过在 WebAssembly 中使用 eBPF 程序,我们不仅能让 Wasm 应用享受到 eBPF 的高性能和对系统接口的访问能力,还可以让 eBPF 程序使用到 Wasm 的沙箱、灵活性、跨平台性、和动态加载,并且使用 Wasm 的 OCI 镜像来方便、快捷地分发和管

 686 |  1 |  1 Linux