配置 IPv4 和 IPv6 地址
nmcli是NetworkManager的命令行工具。使用 nmcli connection show 查看要编辑的网络接口名称后使用下面两种方式对网络接口进行编辑。
方法一:编辑网络配置文件
对于传统的网络配置,编辑/etc/sysconfig/network-scripts/目录下的网络配置文件。
对于NetworkManager管理的网络配置,编辑/etc/NetworkManager/system-connections/目录下的网络配置文件。
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8::1/64 # 设置IPv6地址和前缀(示例)
IPV6_DEFAULTGW=2001:db8::2 # 设置IPv6默认网关(如果适用)
DNS1_IPV6=2001:4860:4860::8888 # 设置首选IPv6 DNS服务器(示例)
DNS2_IPV6=2001:4860:4860::8844 # 设置备用IPv6 DNS服务器(示例)
在更改配置后,您需要重启网络服务以使更改生效。
systemctl restart network
或者,对于NetworkManager管理的接口,您可以使用以下命令:
nmcli con reload
nmcli con up ens160
方法二:使用NetworkManager工具
使用nmtui文本用户界面工具:
输入nmtui命令将打开一个简单的文本用户界面,根据界面提示可以编辑连接、激活或停用连接。
在修改网络配置后使用如下命令进行验证:
ip addr show 接口名称
进行主机名称解析配置
如果是终端电脑就是配置本地host文件:
[root@localhost ~]# vim /etc/hosts
如果是服务端就是配置为DNS服务器:
1,安装bind软件包
[root@localhost ~]# yum install bind
2,编辑 /etc/named.conf文件(最好先备份一下)
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { any; }; ---大括号内改为允许任何人连接
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; }; ---大括号内改为允许任何人连接
3,编辑 /etc/named.rfc1912.zones 文件 (最好先备份一下),最下方再添加一个区域
zone "aaa.com" IN { ---引号内是自己的域名
type master;
file "named.aaa"; ---引号内是配置文件位置,需在 /var/named 下创建
};
4,编辑 /var/named/named.aaa 文件,添加如下内容
$TTL 3H --- DNS 记录可以被缓存的时间长度
@ IN SOA aaa.com. admin.example.com. ( --- aaa.com. 是服务器域名---admin.example.com.是管理员邮箱
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS aaa.com. --- 服务器权威域名
A 172.20.127.124 --- A记录 解析为服务器IPV4地址
AAAA ::1
5,验证配置文件正确性
[root@localhost ~]# named-checkconf -z /etc/named.conf
6,重启DNS服务
[root@localhost ~]# systemctl restart named
我的反正起来了但是暂未做验证,你们起不来的话去看日志吧,抱歉了
[root@localhost ~]# tail /var/log/messages
配置网络服务,以便在系统启动时自动启动
使用 systemctl enable 命令让服务自启动,使用disable命令取消服务自启动
示例:
[root@localhost ~]# systemctl enable NetworkManager
[root@localhost ~]# systemctl disable NetworkManager
使用 systemctl status 命令查看服务状态
[root@localhost ~]# systemctl status NetworkManager
使用 firewall-cmd/firewall 限制网络访问
在 Red Hat Enterprise Linux 9 (RHEL 9) 中,firewalld 是默认的防火墙管理工具,它提供了一个动态管理的防火墙,并支持区域(zones)的概念,允许定义不同的信任级别来匹配不同的网络场景。
要使用 firewall-cmd 来限制网络访问,可以按照以下步骤操作:
1,查看当前区域和配置
使用 firewall-cmd --get-active-zones 查看当前活动的区域。
使用 firewall-cmd --list-all 查看所有区域的配置。
2,更改网络接口所属的区域
firewall-cmd --zone=<zone> --add-interface=<interface_name>将网络接口添加到特定区域
firewall-cmd --zone=<zone> --remove-interface=<interface_name> 将网络接口从区域中移除
3,允许IP/服务或端口
允许IP访问
firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent
允许某个服务(例如 SSH):
firewall-cmd --add-service=ssh --permanent
注意 --permanent 参数会确保更改在重启后仍然有效。
允许某个端口(例如 TCP 8080):
firewall-cmd --add-port=8080/tcp --permanent
4,拒绝ip/服务或端口
虽然 firewalld 主要关注于允许服务或端口,但可以通过创建自定义区域或使用 rich rules 来拒绝特定的服务或端口。
例如,使用 rich rules 拒绝 TCP 8080 端口:
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" reject' --permanent
5,查看和删除规则
查看所有 rich rules:
firewall-cmd --zone=public --list-rich-rules
删除特定的 rich rule(你需要知道完整的 rule 字符串):
firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" reject' --permanent
6,重新加载防火墙配置
在做出更改后,需要重新加载防火墙配置以使更改生效:
firewall-cmd --reload
其他
更改默认区域
如果想要更改默认区域(例如,从 public 改为 drop),可以使用:
firewall-cmd --set-default-zone=drop
但请注意,drop 区域会丢弃所有进入的数据包,除非你明确允许了某些服务或端口。
使用图形界面
如果你更喜欢图形界面,可以安装 firewall-config 并使用它来管理防火墙配置。