网络配置

位置

配置网卡参数

网卡的配置文件位于/etc/sysconfig/network-scripts/目录下,文件名通常为ifcfg-<interface_name>

配置文件修改

以下是一个典型的静态IP配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="some-uuid-value"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.100"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"

TYPE: 网络接口类型。

BOOTPROTO: 启动协议,设置为”none”表示静态IP,”dhcp”表示动态IP。

DEFROUTE: 是否为默认路由。

IPV4_FAILURE_FATAL: IPv4配置失败是否致命。

IPV6INIT: 是否启用IPv6。

NAME: 网络接口的逻辑名称。

UUID: 网络接口的唯一标识符。

DEVICE: 设备名称。

ONBOOT: 系统启动时是否激活网络接口。

IPADDR: 设定的静态IP地址。

PREFIX: 子网掩码的长度。

GATEWAY: 默认网关。

DNS1DNS2: 指定的DNS服务器地址。

应用配置

修改配置文件后,需要重启网络服务或者接口来应用新的配置:

1
sudo systemctl restart network

或者重启单个接口:

1
sudo ifdown ens33 && sudo ifup ens33

防火墙配置

一、构成

iptables防火墙策略

  • 由内核层面的netfilter网络过滤器处理

firewalld防火墙策略

  • 交由内核层面的nftables包过滤框架处理

  • 支持动态更新技术

  • 加入区域的概念

zone区域原理

  • drop(丢弃):任何接收的数据包都会被丢弃,没有任何恢复。仅能有发送出的网络连接
  • block(限制):任何接收的网络连接都能被IPV4的icmp-host-prohibited信息和IPV6的icmp6-adm-prohidited信息所拒绝
  • public(公共):在公共区域使用,不能相信网络内的其他计算机不会对你的计算机造成危险,只能接受经过选区的连接
  • external(外部):特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其他计算,不能相信它们不会对你的计算机造成危害,只能接收经过选择的连接。
  • dmz(非军事区):用于你的非军事区内的计算机,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接
  • work(工作):用于工作区。你可以基本相信网络内的其他计算机不会危害你的计算机。仅仅接收经过选择的连接
  • home(家庭):用于家庭网络。你可以基本信任网络内的其他计算机不会危害你的计算机。仅接收经过选择的连接
  • internal(内部):于内部网络。你可以基本上信任网络内的其他计算机不会威胁你的计算机。仅仅接受经过选择的连接。
  • trusted(信任):可接受所有的网络连接

基本使用

状态命令

启动

1
systemctl start firewalld

关闭

1
systemctl stop firewalld

查看状态

1
systemctl status firewalld

开机禁用

1
systemctl disable firewalld

开机启用

1
systemctl enable firewalld

管理防火墙规则

查看版本

1
firewalld-cmd --version

查看帮助

1
firewalld-cmd --help

显示状态

1
firewalld-cmd --state

查看所有开发的端口

1
firewalld-cmd --zone=public--list-ports

更新防火墙规则

1
firewalld-cmd --reload

端口管理

  • 添加80端口,协议为 TCP

    1
    firewall - cmd -- zone = public -- add - port =80/tcp
  • 查询80端

    1
    firewall - cmd -- zone = public -- query - port =80/tcp
  • 删除80端口

    1
    - firewall - cmd -- zone = public -- remove - port =80/tcp