[内容] DNS 客户端的设置 (Linux 版)

内容一:设置 DNS 客户端
1.1 直接在本地指定域名
1.1.1 直接在本地指定域名的方法

# vim /etc/hosts

添加以下内容:

......
<IP address> <domain name>

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.1.2 直接在本地指定域名的案例

# vim /etc/hosts

添加以下内容:

......
192.154.240.64 eternalcenter.com

(补充:这里以将 192.154.240.64 解析为 eternalcenter.com 为例)

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2 使用远程的 DNS 服务器解析域名
1.2.1 使用远程的 DNS 服务器解析域名
1.2.1.1 使用远程的 DNS 服务器解析域名的方法
1.2.1.1.1 直接修改 /etc/resolv.conf 文件

# vim /etc/resolv.conf

添加以下内容:

......
nameserver <IP address of DNS server>

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2.1.1.2 使用 nmcli 命令
1.2.1.1.2.1 使用 nmcli 命令配置一个 DNS 服务器的 IP 地址

# nmcli connection modify <network card name> ipv4.dns <IP address of DNS server>

(补充:不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置)


注意:
1) 此方法只对 CentOS8&RHEL8 适用
2) /etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高

1.2.1.1.2.2 使用 nmcli 命令配置多个 DNS 服务器的 IP 地址

# nmcli connection modify <network card name> ipv4.dns "<first IP address of DNS server>,<second IP address of DNS server>,<third IP address of DNS server>......"

(补充:不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置)


注意:
1) 此方法只对 CentOS8&RHEL8 适用
2) /etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高

1.2.1.2 使用远程的 DNS 服务器解析域名的案例
1.2.1.2.1 直接修改 /etc/resolv.conf 文件

# vim /etc/resolv.conf

添加以下内容:

......
nameserver 8.8.8.8

(补充:这里以使用 8.8.8.8 DNS 服务器为例)

(注意:/etc/hosts 里记录的 DNS 优先级要比 /etc/resolv.conf 里的高)

1.2.1.2.2 使用 nmcli 命令

# nmcli connection modify eth0 ipv4.dns 8.8.8.8


补充:
1) 这里以给 eth0 网卡添加 8.8.8.8 DNS 服务器为例
2) 不将 /etc/NetworkManager/NetworkManager.conf 里的 [main] dns=none 参数修改为 none 的话,此参数会覆盖 /etc/resolv.conf 里的设置

(注意:/etc/hosts 里记录的 DNS 优先级要比使用 nmcli 命令的高)

1.2.2 显示正在使用远程的 DNS 服务器解析的域名

# nmcli connection show | grep -i ipv4.dns

内容二:检查 DNS 域名解析
2.1 使用 ping 命令解析域名
2.1.1 使用 ping 命令解析域名的格式

# ping <domain name>

2.1.2 使用 ping 命令解析域名的案例

# ping eternalcenter.com
PING eternalcenter.com (192.154.240.64) 56(84) bytes of data.
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=1 ttl=50 time=144 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=3 ttl=50 time=70.8 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=4 ttl=50 time=81.3 ms
64 bytes from v144-48-142.ap-east.sugarhosts.net (192.154.240.64): icmp_seq=5 ttl=50 time=103 ms
......

2.2 使用 host 命令解析域名
2.2.1 使用 host 命令解析域名的格式

# host <domain name>

2.2.2 使用 host 命令解析域名的案例

# host eternalcenter.com
eternalcenter.com has address 192.154.240.64

(补充:这里以解析 etenalcenter.com 域名为例)

2.3 使用 nslookup 命令解析域名
2.3.1 使用 nslookup 命令解析域名的格式

# nslookup <domain name>

2.3.2 使用 nslookup 命令解析域名的案例

# nslookup eternalcenter.com
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	eternalcenter.com
Address: 192.154.240.64

(补充:这里以解析 etenalcenter.com 域名为例)

[内容] Linux SELinux 布尔 (boolean) 值的设置

内容目录:

内容一:开启 SELinux 布尔(boolean)值
1.1 显示当前 SELinux 状态
1.2 将 SELinux 的状态设置为 Enforcing 以开启布尔(boolean)值
1.2.1 当当前 SELinux 的状态为 Disabled 时开启布尔(boolean)值的方法
1.2.1.1 修改 SELinux 配置文件
1.2.1.2 重启系统
1.2.2 当当前 SELinux 的状态为 Perssive 时开启布尔(boolean)值的方法

内容二:显示所有 SELinux 布尔(boolean)值

内容三:布尔(boolean)值的管理
3.1 允许某一个 SELinux 布尔(boolean)值开启
3.1.1 临时允许某一个 SELinux 布尔(boolean)值开启
3.1.1.1 临时允许某一个 SELinux 布尔(boolean)值开启的格式
3.1.1.2 临时允许某一个 SELinux 布尔(boolean)值开启的案例
3.1.2 永久允许某一个 SELinux 布尔(boolean)值开启
3.1.2.1 永久允许某一个 SELinux 布尔(boolean)值开启的格式
3.1.2.2 永久允许某一个 SELinux 布尔(boolean)值开启的案例
3.2 取消某一个 SELinux 布尔(boolean)值开启
3.2.1 临时取消某一个 SELinux 布尔(boolean)值开启
3.2.1.1 临时取消某一个 SELinux 布尔(boolean)值开启的格式
3.2.1.2 临时取消某一个 SELinux 布尔(boolean)值开启的案例
3.2.2 永久取消某一个 SELinux 布尔(boolean)值关闭
3.2.2.1 永久取消某一个 SELinux 布尔(boolean)值开启的格式
3.2.2.2 永久取消某一个 SELinux 布尔(boolean)值开启的案例

具体的操作步骤:

内容一:开启 SELinux 布尔(boolean)值
1.1 显示当前 SELinux 状态

# getenforce

1.2 将 SELinux 的状态设置为 Enforcing 以开启布尔(boolean)值
1.2.1 当当前 SELinux 的状态为 Disabled 时开启布尔(boolean)值的方法
1.2.1.1 修改 SELinux 配置文件

# vim /etc/selinux/config

将以下内容:

......
SELINUX=disabled
......

修改为:

......
SELINUX=enforcing
......

1.2.1.2 重启系统

# reboot

1.2.2 当当前 SELinux 的状态为 Perssive 时开启布尔(boolean)值的方法

# setenfoce 1

(补充:系统重启后失效)

内容二:显示所有 SELinux 布尔(boolean)值

# semanage boolean -l

内容三:布尔(boolean)值的管理
3.1 允许某一个 SELinux 布尔(boolean)值开启
3.1.1 临时允许某一个 SELinux 布尔(boolean)值开启
3.1.1.1 临时允许某一个 SELinux 布尔(boolean)值开启的格式

# setsebool <boolean value> 1

或者:

# setsebool <boolean value> on

3.1.1.2 临时允许某一个 SELinux 布尔(boolean)值开启的案例

# setsebool httpd_can_network_connect 1

或者:

# setsebool httpd_can_network_connect on

3.1.2 永久允许某一个 SELinux 布尔(boolean)值开启
3.1.2.1 永久允许某一个 SELinux 布尔(boolean)值开启的格式

# setsebool -P <boolean value> 1

或者:

# setsebool -P <boolean value> on

3.1.2.2 永久允许某一个 SELinux 布尔(boolean)值开启的案例

# setsebool -P httpd_can_network_connect 1

或者:

# setsebool -P httpd_can_network_connect on

3.2 取消某一个 SELinux 布尔(boolean)值开启
3.2.1 临时取消某一个 SELinux 布尔(boolean)值开启
3.2.1.1 临时取消某一个 SELinux 布尔(boolean)值开启的格式

# setsebool <boolean value> 0

或者:

# setsebool <boolean value> off

3.2.1.2 临时取消某一个 SELinux 布尔(boolean)值开启的案例

# setsebool httpd_can_network_connect 0

或者:

# setsebool httpd_can_network_connect off

3.2.2 永久取消某一个 SELinux 布尔(boolean)值关闭
3.2.2.1 永久取消某一个 SELinux 布尔(boolean)值开启的格式

# setsebool -P <boolean value> 0

或者:

# setsebool -P <boolean value> off

3.2.2.2 永久取消某一个 SELinux 布尔(boolean)值开启的案例

# setsebool -P httpd_can_network_connect 0

或者:

# setsebool -P httpd_can_network_connect off

[内容] 静态路由表的添加(CentOS Linux & RHEL 版)

内容目录:

内容一:添加临时路由器表
1.1 案例一:添加某一个 IP 地址的路由表
1.2 案例二:删除某一个 IP 地址的路由表
1.3 案例三:添加某一个网段的路由表
1.4 案例四:删除某一个网段的路由表

内容二:添加永久路由表
2.1 添加永久路由表
2.1.1 案例一
2.1.2 案例二
2.2 启动要添加路由表的网卡
2.2.1 启动要添加路由表的网卡的格式
2.2.2 启动要添加路由表的网卡的案例

具体的内容:

内容一:临时路由器表到管理
1.1 案例一:添加某一个 IP 地址的路由表

# route add -host 192.168.2.1 netmask 255.255.255.255 gw 192.168.1.1 dev eth0

或者:

# ip route add 192.168.2.1/32 via 192.168.1.1 dev eth0

(补充:这里以指向 192.168.2.1 IP 地址的流量需要通过 eth0 网卡和 192.168.1.1 网关为例)

1.2 案例二:删除某一个 IP 地址的路由表

# route del -host 192.168.2.1

(补充:这里删除 192.168.2.1 IP 地址的路由表为例)

# ip route del 192.168.2.1/32 via 192.168.1.1 dev eth0

(补充:这里删除 192.168.2.1 IP 地址导向 192.168.1.1 IP 地址的路由表为例)

1.3 案例三:添加某一个网段的路由表

# route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

(补充:这里以指向 192.168.2.0/24 网段的流量需要通过 192.168.1.1 网关为例)

或者:

# ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

(补充:这里以指向 192.168.2.0/24 网段的流量需要通过 192.168.1.1 eth0 网关为例)

1.4 案例四:删除某一个网段的路由表

# route del -net 192.168.2.0/24

(补充:这里删除 192.168.2.0/24 网段的路由表为例)

或者:

# ip route del 192.168.2.0/24 via 192.168.1.1 dev eth0

(补充:这里以指向 192.168.2.0/24 网段的流量需要通过 192.168.1.1 eth0 网关为例)

内容二:添加永久路由表
2.1 添加永久路由表
2.1.1 案例一

# nmcli con mod eth0 ipv4.routes "192.168.2.0/24 192.168.3.1"

(补充:这里以给 eth0 网卡添加 192.168.2.0/24 通过 192.168.3.1 的网关为例)

2.1.2 案例二

# vim /etc/sysconfig/network-scripts/route-enp1s0

创建以下内容:

192.168.100.3/32 via 192.168.101.101 dev enp1s0

(补充:这里以添加 192.168.100.3/32 通向 192.168.101.101 网关的永久路由为例)

2.2 启动要添加路由表的网卡
2.2.1 启动要添加路由表的网卡的格式

# nmcli connection up <the name of the network card to add the routing table to>

或者:

# reboot

2.2.2 启动要添加路由表的网卡的案例

# nmcli connection up enp1s0

或者:

# reboot

(补充:这里以重启名为 enp1s0 网卡为例)

[工具] Shell 取消所有已开放的端口策略 (firewalld 版)

介绍:

作者:朱明宇
名称:取消所有已开放的端口策略
作用:取消所有已开放的端口策略

使用方法:
1. 给此脚本添加执行权限
2. 执行此脚本

脚本:

#!/bin/bash

systemctl start firewalld
systemctl enable firewalld

for i in `firewall-cmd --list-all | grep ports | egrep [0-9] | awk -F':' '{print $2}'`
do
        pports=`echo $i | awk -F'/' '{print $1}'`
        ptus=`echo $i | awk -F'/' '{print $2}'`

        firewall-cmd --remove-port=$pports/$ptus --permanent

done

firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload