荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 2454|回复: 4

centos8

[复制链接]

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
发表于 2020-6-23 00:16 | 显示全部楼层 |阅读模式
浅谈centos8与centos7
http://www.weixuecn.cn/article/11435.html

Linux 内核将用 Nftables 替代 iptables
https://blog.csdn.net/yunying_si/article/details/12944293

linux nftables简介和基础操作
https://blog.csdn.net/weixin_343 ... earnPai2-1.nonecase
回复

使用道具 举报

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
 楼主| 发表于 2020-6-23 00:17 | 显示全部楼层
距离centos8.0(现在已经更新到8.1了)的发布已经过去几个月了,作为一个刚刚接触过几个月centos的萌新来说,本文想通过实际的操作体验来说对比一下centos8代与7代

首先,centos8 dvd版的镜像有7G大,也是我目前安装过最大的操作系统镜像了,首先从官网下载后,安装的时候就踩了一个小坑

出现了以下问题


幸得网上大佬相助得已解决


安装的过程其实与centos7的区别不大,可能是因为物理机内存和显卡的原因,安装登录的时候也是各种卡。centos8默认桌面环境是GNOME 3.28 ,其实个人感觉与6代7代的差别不是很大,但是centos8对于内存要高于往代,目前我在VMware上给的2G的内存,centos8不自带VMware tools 需要手动安装



从实际使用上来说,7代使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替,8代延续了这一特性,而且systemctl用习惯了还会不适应原先的service命令。centos8附带带的YUM包管理器 v4.0.4版本 ,并且采用了dnf技术作为后端,当然,这也并不是说原先的yum被舍弃,你可以同时使用yum和dnf两种工具来管理包。

关于开发工具的区别:

从网上找了一下总结,大致如下

Python 3.6默认Python 环境

Node.js 是在 RHEL 最新包含的,其他动态语言更新包括: PHP 7.2, Ruby 2.5, Perl 5.26, SWIG 3.0

centos 8 数据库服务:MariaDB 10.3, MySQL 8.0, PostgreSQL 10, PostgreSQL 9.6, Redis 5.0

centos 8 提供Apache HTTP Server 2.4

OpenJDK 11、OpenJDK 8、IcedTea-Web和各种Java工具

在网络方面:

CentOS现在提供了TCP网络堆栈版本4.16。
使用的缺省包过滤框架是nftables。
最重要的是,这些更改确保了更好的稳定性、可伸缩性和性能。

nftables替代iptables、iptablesip6table、arptables和ebtables,作为IPv4和IPv6协议的单一框架。此外,firewalld deamon还将使用与默认后端相同的用于过滤网络事务的子系统。

在虚拟化技术上,centos历代内核的升级都会带来不一样的技术,kvm ,docker,不知podman会不会在未来成为主流呢。
回复 支持 反对

使用道具 举报

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
 楼主| 发表于 2020-6-23 00:17 | 显示全部楼层
新的防火墙子系统/包过滤引擎 Nftables 将在 Linux 3.13 中替代有十多年历史的iptables。iptables/netfilter在2001年加入到2.4内核中。诞生于2008年的 NFTables 设计替代 iptables, 它提供了一个更简单的kernel ABI,减少重复代码,改进错误报告,更有效的支持过滤规则。除了iptables,NFTables还将替代ip6tables、arptables和 ebtables。Linux内核的第一代包过滤机制是ipfwadm(1.2.1内核,1995年),之后是ipchains(1999 年),iptables,Nftables是第四代。

转自 http://www.solidot.org/story?sid=36893
回复 支持 反对

使用道具 举报

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
 楼主| 发表于 2020-6-23 00:17 | 显示全部楼层
一、什么是nftables?  

nftables 是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的 {ip,ip6,arp,eb}_tables。简而言之:

它在 Linux 内核版本高于 3.13 时可用。

它有一个新的命令行工具 ntf,它的语法与 iptables 不同。

它也包含了一个兼容层,让你在新的 nftables 内核框架之上运行 iptables 命令。

它提供了通用的集合基础允许你建立映射和关联。你可以使用这个新特性把你的规则集分类到多维树中,这大大地减少了找到包最终的行为之前需要检查的规则的数量。

二、nftables 特点

拥有一些高级的类似编程语言的能力,例如定义变量和包含外部文件,即拥有使用额外脚本的能力。nftables也可以用于多种地址簇的过滤和处理。

不同于iptables, nftables并不包含任何的内置表。由管理员决定需要哪些表并添加这些表的处理规则。

表包含规则链,规则链包含规则。

三、相比于iptables优点

更新速度更快。在iptables中添加一条规则,会随着规则数量增多而变得非常慢,这也就解释了为什么调用iptables的脚本需要花很久才完成。这种状况对nftables而言就不存在了。nftables使用原子的快速操作来更新规则集合。

内核更新更少。使用iptables,每一个匹配或投递都需要内核模块的支持。因此,如果你忘记一些东西或者要添加新的功能时都需要重新编译内核。nftables就不存在这种状况了。在nftables中,大部分工作是在用户态完成的,内核只知道一些基本指令(过滤是用伪状态机实现的)。例如,icmpv6 支持是通过nft工具的一个简单的补丁实现的。在iptables中这种类型的更改需要内核和iptables都升级才可以。

四、基础操作

1、增

增加表:nft add table fillter

增加链:nft add chain filter input { type filter hook input priority 0 \; } # 要和hook(钩子)相关连

增加规则:nft add rule filter input tcp dport 22 accept

2、删

只需要把上面的 add 改为 delete 即可

3、改

更改链名用rename

更改规则用replace

4、查

nft list ruleset # 列出所有规则

nft list tables # 列出所有表

nft list table filter # 列出filter表

nft chain filter input # 列出filter表input链

以上命令后面也可以加 -nn  用于不解析ip地址和端口

加 -a 用于显示 handles



操作手册可参考 nftables-wiki  和  nftables-manpage

注意各表和链的优先级(重要)。 参考链接:Base chain priority

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@test01 nft]# cat setup-tables
table ip filter {
        chain input             { type filter hook input priority 0; }
        chain forward           { type filter hook forward priority 0; }
        chain output            { type filter hook output priority 0; }
}

table ip nat {
        chain prerouting        { type nat hook prerouting priority -100; }
        chain postrouting       { type nat hook postrouting priority 100; }
        chain output            { type nat hook output priority -100; }
}

table ip mangle {
        chain output            { type route hook output priority -150; }
}

table ip raw {
        chain prerouting        { type filter hook prerouting priority -300; }
        chain postrouting       { type filter hook postrouting priority -300; }
}

回复 支持 反对

使用道具 举报

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
 楼主| 发表于 2020-6-23 00:23 | 显示全部楼层
Centos8无法安装screen的解决方法:使用epel安装screen

选择了一个基础款的vps安装的镜像选了熟悉的centos的最新版centos8,但是在安装screen的时候,却安装不了,提示:

No match for argument: screen
本来以为是yum源里没有screen,还换到了阿里云的源,却依然不能安装。将系统换到centos7,却可以直接正常安装screen。

后来发现Centos8安装screen需要使用epel来安装,安装epel后,再安装screen,解决centos8无法安装screen的问题。

1、安装epel

sudo yum install epel-release
2、安装screen

sudo yum install screen
可以看到centos8已经正常安装并可以使用screnn了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-6-18 02:54 , Processed in 0.014415 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表