发行版差异
CentOS
网络配置
位置
配置网卡参数
网卡的配置文件位于/etc/sysconfig/network-scripts/目录下,文件名通常为ifcfg-<interface_name>。
配置文件修改
以下是一个典型的静态IP配置:
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: 默认网关。
DNS1和DNS2: 指定的DNS服务器地址。
应用配置
修改配置文件后,需要重启网络服务或者接口来应用新的配置:
sudo systemctl restart network或者重启单个接口:
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(信任):可接受所有的网络连接。
基本使用
状态命令
启动
systemctl start firewalld关闭
systemctl stop firewalld查看状态
systemctl status firewalld开机禁用
systemctl disable firewalld开机启用
systemctl enable firewalld管理防火墙规则
查看版本
firewalld-cmd --version查看帮助
firewalld-cmd --help显示状态
firewalld-cmd --state查看所有开发的端口
firewalld-cmd --zone=public--list-ports更新防火墙规则
firewalld-cmd --reload端口管理
-
添加80端口,协议为 TCP
firewall - cmd -- zone = public -- add - port =80/tcp -
查询80端
firewall - cmd -- zone = public -- query - port =80/tcp -
删除80端口
- firewall - cmd -- zone = public -- remove - port =80/tcp
Ubuntu
dpkg 是 Debian 系的底层软件包管理器,本身不处理依赖关系解析;apt-get 是其上层的包管理工具,负责依赖关系的处理;apt 则是 apt-get 的改进版本,整合了部分 apt-cache 的功能并提供更友好的用户体验,日常使用推荐优先使用 apt。
dpkg
dpkg (Debian Package) 是 Debian 系 Linux 发行版(例如 Ubuntu、Debian 等)的底层软件包管理器。它负责安装、构建、删除和管理 .deb 软件包。dpkg 本身并不处理依赖关系的解析,它依赖于 apt、aptitude 等更高级的工具来管理依赖关系。
以下是一些常用的 dpkg 命令及其功能:
dpkg -i <package.deb>: 安装一个.deb软件包。dpkg -r <package>: 删除一个已安装的软件包(保留配置文件)。dpkg -P <package>: 完全删除一个已安装的软件包(包括配置文件)。dpkg -l <pattern>: 列出所有已安装的软件包,可以使用pattern进行过滤。 这类似于apt list --installed,但dpkg -l提供更详细的信息。dpkg -s <package>: 显示一个软件包的详细信息,无论它是否已安装。dpkg -L <package>: 列出一个已安装软件包的所有文件。dpkg -S <file>: 查找哪个软件包包含指定的文件。dpkg --configure <package>: 配置一个软件包,这通常在安装过程中被打断时使用。
apt-get
apt-get 是 Debian 和 Ubuntu 等 Linux 发行版中一个强大的命令行包管理工具。虽然现在推荐使用 apt 命令,因为它提供了更友好的用户体验,但 apt-get 仍然被广泛使用,并且在一些情况下可能仍然是必要的。
以下是一些常用的 apt-get 命令及其功能:
安装软件包
apt-get install <package>: 安装指定的软件包及其依赖项。apt-get install <package1> <package2> ...: 同时安装多个软件包。apt-get reinstall <package>: 重新安装指定的软件包。
更新软件包列表
apt-get update: 更新本地软件包列表,获取最新的软件包信息(但不安装任何更新)。 这是在安装或升级软件包之前必须执行的步骤。
升级软件包
apt-get upgrade: 升级所有已安装的软件包到最新版本。apt-get dist-upgrade: 执行发行版升级,例如从 Ubuntu 20.04 升级到 Ubuntu 22.04. 这比upgrade更激进,可能会移除一些过时的软件包。
删除软件包
apt-get remove <package>: 删除指定的软件包(保留配置文件)。apt-get purge <package>: 完全删除指定的软件包(包括配置文件)。apt-get autoremove: 删除不再需要的依赖项。
下载软件包
apt-get download <package>: 下载指定的软件包但不安装。
清理
apt-get clean: 清除已下载的软件包缓存。apt-get autoclean: 清除不再需要的已下载软件包缓存。
apt
安装软件包
apt install <package>: 安装指定的软件包及其依赖项。apt install <package1> <package2> ...: 同时安装多个软件包。apt reinstall <package>: 重新安装指定的软件包。
更新软件包列表
apt update: 更新本地软件包列表,获取最新的软件包信息(但不安装任何更新)。 这是在安装或升级软件包之前必须执行的步骤。
升级软件包
apt upgrade: 升级所有已安装的软件包到最新版本。apt full-upgrade: 执行完全升级,可能会移除一些过旧的软件包。apt dist-upgrade: 执行发行版升级,例如从 Ubuntu 22.04 升级到 Ubuntu 24.04。
删除软件包
apt remove <package>: 删除指定的软件包(保留配置文件)。apt purge <package>: 完全删除指定的软件包(包括配置文件)。apt autoremove: 删除不再需要的依赖项。
搜索软件包
apt search <keyword>: 搜索包含指定关键字的软件包。apt show <package>: 显示指定软件包的详细信息。
清理
apt clean: 清除已下载的软件包缓存。apt autoclean: 清除不再需要的已下载软件包缓存。
其他常用命令
apt list: 列出所有可用的软件包。apt list --installed: 列出所有已安装的软件包。apt list --upgradable: 列出所有可升级的软件包。apt edit-sources: 编辑软件源列表。
apt 与 apt-get 的区别
apt 和 apt-get 都是用于管理软件包的命令行工具,apt 是 apt-get 的改进版本,旨在提供更友好的用户体验。 apt 整合了一些 apt-get 和 apt-cache 的功能,并提供了一些改进,例如更简洁的输出和进度条。 在大多数情况下,推荐使用 apt 而不是 apt-get。
总而言之,apt 是一个功能强大且易于使用的包管理工具,对于任何使用 Debian 或 Ubuntu 等 Linux 发行版的用户来说都是必不可少的。 掌握常用的 apt 命令可以极大地提高你的工作效率。
网络配置
18.04 版本以前
在Ubuntu18.04版本以后,Ubuntu引入netplan来管理网络环境。netplan是一种网络配置工具,使用YAML文件来定义网络接口和相关配置。
所以,在18.04版本以前,Ubuntu网络配置文件在/etc/network/interfaces中
以下是一个典型的静态IP配置:
auto eth0
iface eth0 inet static;
address 210.168.3.90;
gateway 192.168.3.1;
netmask 255.255.255.0
dns-nameservers 192.168.1.254 8.8.8.8
#network 192.168.3.0;
#broadcast 192.168.3.255;
auto: 指定网卡。
iface: 启动协议,设置为”none”表示静态IP,“dhcp”表示动态IP。
address: 配置IPV4地址。
gateway: 网络接口的逻辑名称。
UUID: 网络接口的唯一标识符。
DEVICE: 设备名称。
ONBOOT: 系统启动时是否激活网络接口。
IPADDR: 设定的静态IP地址。
PREFIX: 子网掩码的长度。
GATEWAY: 默认网关。
DNS1和DNS2: 指定的DNS服务器地址。
重启网络服务
sudo service network-manager restart
18.04 版本以后
进入/etc/netplan/目录,列出该目录下的内容
cd /etc/netplan/
ls
利用vim编辑器打开xxx.yaml文件,进行编辑:
vim 01-network-manager-all.yaml
内容如下:(修改网卡名称、IP、网关后保存退出)
# Let NetworkManager manage all devices on this system
network:
ethernets:
ens32:
dhcp4: false
addresses:
- 192.168.3.88/24
routes:
- to: default
via: 192.168.3.1
nameservers:
addresses: [8.8.8.8,8.8.4.4,192.168.3.1]
version: 2
重启网络服务
systemctl restart NetworkManager.service
没有报错说明格式正确。