openEuler:网络管理与防火墙

#网络 #防火墙

Linux 处理数据包过程

数据包从网卡流入主机,进入 kernel 内核层,内核层进行路由决策,如果是发送到该主机的数据,则将数据传入用户层,否则将丢弃该数据包或者进行转发
本机数据从用户层流向内核层后,进行路由决策决定从哪个网卡流出

ip_forward 转发功能

ip_forward 叫做 Kernel IP Forwarding ,这是 Linux Kernel 的一个特性,可以在 ip 层实现类似路由器的路由转发功能
我们可以以一个简单的例子来理解,假如你的主机现在有两个网卡,第一个网络接口的地址为 192.168.2.1/24 (NIC1),第二个网络接口的地址为 192.168.3.1/24 (NIC2),从 NIC1 流入一个数据包,destination 为 192.168.3.24/24,与 NIC2 在同一个子网中,这时如果我们开启了 ip_forward ,内核层就会将该数据包转发到 NIC2 端口流出

网络配置

常见的配置手段

  • nmcli
    nmcliNetworkManager 的命令行接口,用于配置和管理网络连接。NetworkManager 是一个动态网络管理器,旨在使配置和管理网络连接更加简便,尤其是对于移动设备和桌面环境。
  • ip
    ip 命令是 iproute2 工具包的一部分,用于配置网络接口、路由和隧道。ip 命令是 ifconfigroute 等旧工具的现代替代品,提供更强大的功能和更灵活的语法。
  • ifcfg
    ifcfg 通常用于基于 Red Hat 系列的 Linux 发行版,如 RHEL、CentOS 和 Fedora,用于配置网络接口。网络配置通常存储在 /etc/sysconfig/network-scripts/ifcfg-<interface> 文件中。

ifcfg 文件配置方法正在逐渐被淘汰,尤其是在现代 Linux 发行版中。这主要是因为 NetworkManager 和 systemd-networkd 等更现代化的网络管理工具的广泛采用,这些工具提供了更强大的功能和更灵活的配置选项。

网络配置过程

这部分主要想谈谈关于网络配置中我们需要关注哪些,对整个网络配置有一个概括性的了解,以便能够更好的使用工具进行网络配置,通常我们着重关注以下几点:

  • IP 地址类型:静态 IP 地址或动态 IP 地址(DHCP)。
  • 子网掩码:确定子网范围。
  • 网关:用于访问外部网络。
  • DNS 服务器:域名解析服务。
  • 网络接口:需要配置的网络接口(如 eth0、wlan0)。
    我们不管通过什么工具都可以进行网络配置

配置文件

网卡配置文件ifcfg-*

位于文件夹 /etc/sysconfig/network-scripts ,其命名规则为 ifcfg-* ,在系统启动时都会扫描到这些文件
![[Pasted image 20240716185215.png]

我们可以查看其中内容
![[Pasted image 20240716185254.png]]

关于以上配置,几个比较关键的为:
ONBOOT=yes

  • 说明:指定系统启动时是否激活此网络接口。
    NETBOOT=yes
  • 说明:指定网络引导协议(Netboot,允许计算机在本地没有存储设备时,通过网络从远程服务器上获得操作系统和启动文件)是否启用。
    IPV6INIT=yes
  • 说明:指定是否初始化 IPv6 配置。
    BOOTPROTO=dhcp
  • 说明:指定获取 IP 地址的方式(包括 static,dhcp,none)。
    TYPE=Ethernet
  • 说明:指定网络接口的类型(常见的 TYPE 有:Ethernet,VLAN,Wireless等。
    常见的 ifcfg 文件配置参数及其说明:
参数说明示例
DEVICE网络接口名称DEVICE=eth0
BOOTPROTO获取 IP 地址的方式BOOTPROTO=static
ONBOOT启动时是否激活网络接口ONBOOT=yes
IPADDR静态 IP 地址IPADDR=192.168.1.100
NETMASK子网掩码NETMASK=255.255.255.0
GATEWAY默认网关 IP 地址GATEWAY=192.168.1.1
DNS1, DNS2DNS 服务器 IP 地址DNS1=8.8.8.8
DOMAIN默认搜索域名DOMAIN=mydomain.com
DEFROUTE是否作为默认路由DEFROUTE=yes
HWADDR网卡 MAC 地址HWADDR=00:11:22:33:44:55
MTU最大传输单元 (MTU)MTU=1500
TYPE网络接口类型TYPE=Ethernet
UUID网络接口唯一标识符 (UUID)UUID=123e4567-e89b-12d3-a456-426614174000

域名解析(DNS)配置文件(/etc/resolv.conf)

![[Pasted image 20240716195421.png]]

其中 search 参数表示,当域名不全时候,补全的内容,比如当我们 ping baidu 没有 . ,则会先进行补全为 baidu.localdomain 对其进行解析
nameserver 参数表示域名服务器的 IP

防火墙

基本概念

防火墙就是规定一系列规则组,以控制流量在物联网和本机信任区的流通
zone:防火墙守护进程使用称为“区域”的实体管理规则组。其中的规则将计算机连接到的网络划分为不同的信任等级

从最不信任到最受信任的顺序,防火墙中的预定义区域是:

Trust LevelName (Chinese)Description
drop丢弃最低信任级别。所有传入连接在没有回复的情况下丢弃,并且只能进行传出连接。
block限制与上述类似,但传入请求不是简单地丢弃连接,而是使用或消息被拒绝。
public公共表示公共、不受信任的网络。您不信任其他计算机,但可能会根据情况允许选定的传入连接。
external外部使用防火墙作为网络的外部网络。它配置为 NAT 伪装,以便你的内部网络保持私有但可访问。
dmz用于位于 DMZ 中的计算机(无法访问内网络其余部分的隔离计算机),仅允许某些传入连接。
work工作用于工作机。信任网络中的大多数计算机。可能允许使用更多服务。
home家庭环境。它通常意味着你信任大多数其他计算机,并且将接受更多服务。
internal内部外部区域的另一侧,用于网络的内部部分。计算机是相当值得信赖的,一些额外的服务是可用的。
trusted受信任信任网络中的所有计算机。最开放的可用选项,应谨慎使用。

对于 firewalld 的操作

  1. 启动防火墙服务:
    sudo systemctl start firewalld

  2. 停止防火墙服务:
    sudo systemctl stop firewalld

  3. 重启防火墙服务:
    sudo systemctl restart firewalld

  4. 查看防火墙服务状态:

sudo systemctl status firewalld

配置操作

  1. 查看当前防火墙规则:
    sudo firewall-cmd --list-all

  2. 添加一个端口到防火墙:
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

  3. 移除一个端口从防火墙:

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

  1. 添加允许的服务:

sudo firewall-cmd --zone=public --add-service=http --permanent

  1. 移除允许的服务:
    sudo firewall-cmd --zone=public --remove-service=http --permanent

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值