[工具] Shell 开放所有正处于监听状态的端口策略 (firewalld 版)

介绍:

作者:朱明宇
名称:开放所有正处于监听状态的端口策略
作用:开放所有正处于监听状态的端口策略

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

脚本:

#!/bin/bash

systemctl start firewalld
systemctl enable firewalld

for k in `ss -ntulap |grep 0.0.0.0 | grep LISTEN | awk '{print $5}' | awk -F':' '{print $2}'`
do 
        firewall-cmd --add-port=$k/tcp --permanent
done

firewall-cmd --reload

[工具] Shell 批量对多个 IP 地址开发多个端口策略 (firewalld 版)

介绍:

作者:朱明宇
名称:批量对多个 IP 地址开发多个端口策略
作用:批量对多个 IP 地址开发多个端口策略

使用方法:
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量:
1.ips=”192.168.2.1 192.168.1.0/24″ #要开放端口的 IP 地址
2.ports”22 3306 8080-8090″ #要开放的端口

脚本:

#!/bin/bash

####################### Separator ########################

ips="192.168.2.1 192.168.1.0/24"
ports"22 3306 8080-8090"

####################### Separator ########################

systemctl start firewalld
systemctl enable firewalld

for i in $ips
do
        for j in $ports
        do
                firewall-cmd --add-rich-rule="rule family="ipv4" source address="$i" port protocol="tcp" port="$j" accept" --permanent
        done
        echo $i done
        echo
done

firewall-cmd --reload

[命令] Linux 命令 nmcli (网络管理)

内容目录:

内容一:整个网络的管理
1.1 开启整个网络
1.2 关闭整个网络

内容二:管理网络设备
2.1 显示网络设备的信息
2.1.1 显示所有网络设备
2.1.2 显示被激活的网络设备
2.2 显示某一个网络设备是否激活
2.3 显示网络设备的联通状态
2.4 添加网络设备
2.5 删除网络设备
2.6 激活一个网络设备
2.7 取消激活一个网络设备

内容三:IP 地址管理
3.1 设置 IP 地址
3.1.1 设置 IP 地址的格式
3.1.2 设置 IP 地址的案例
3.2 让 IP 地址生效
3.2.1 让 IP 地址生效的格式
3.2.2 让 IP 地址生效的案例

内容四:路由管理
4.1 添加路由
4.1.1 添加路由的格式
4.1.2 添加路由的案例
4.2 让路由生效
4.2.1 让路由生效的格式
4.2.2 让路由生效的案例

具体的内容:

内容一:整个网络的管理
1.1 开启整个网络

# nmcli network on

或者:

# nmcli net on

1.2 关闭整个网络

# nmcli network off

或者:

# nmcli net off

内容二:管理网络设备
2.1 显示网络设备的信息
2.1.1 显示所有网络设备

# nmcli connection show

或者:

# nmcli conneciton

或者:

# nmcli con show

或者:

# nmcli con

2.1.2 显示被激活的网络设备

# nmcli connection show --active

或者:

# nmcli conneciton --active

或者:

# nmcli con show --active

或者:

# nmcli con --active

2.2 显示某一个网络设备是否激活

# nmcli device connect <network device name>

或者:

# nmcli dev con <network device name>

2.3 显示网络设备的联通状态

# nmcli device status

或者:

# nmcli dev status

2.4 添加网络设备

# nmcli connection add con-name <custom network card alias> ifname <network device name> type ethernet

(补充:这里 con-name 是指要指定一个自定义的网卡别名,ifname 是指要指明网络设备名)

或者:

# nmcli con add con-name <custom network card alias> ifname <network device name> type ethernet

(补充:这里 con-name 是指要指定一个自定义的网卡别名,ifname 是指要指明网络设备名)

2.5 删除网络设备

# nmcli connection delete <custom network card alias>

或者:

# nmcli con del <custom network card alias>

2.6 激活一个网络设备

# nmcli device connect <network device name>

或者:

# nmcli dev con <network device name>

2.7 取消激活一个网络设备

# nmcli device disconnect <network device name>

或者:

# nmcli dev dis <network device name>

内容三:IP 地址管理
3.1 设置 IP 地址
3.1.1 设置 IP 地址的格式

# nmcli connection modify <custom network card alias> ipv4.address <IP address>/<subnet mask> ipv4.gateway <gateway IP address> ipv4.dns <DNS IP address> autoconnect yes

3.1.2 设置 IP 地址的案例

# nmcli connection modify eth0 ipv4.address 192.168.1.1/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.254 autoconnect yes

(补充:这里以添加给 eth0 添加 IP 地址 192.168.1.1/24,网关 192.168.1.1,DNS 192.168.1.254 为例)

3.2 让 IP 地址生效
3.2.1 让 IP 地址生效的格式

# nmcli connection up <custom network card alias>

3.2.2 让 IP 地址生效的案例

# nmcli connection down eth0

内容四:路由管理
4.1 添加路由
4.1.1 添加路由的格式

# nmcli con mod <custom network card alias> ipv4.routes "<network segment> <gateway IP address>"

4.1.2 添加路由的案例

# 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 的网关为例)

4.2 让路由生效
4.2.1 让路由生效的格式

# nmcli connection up <custom network card alias>

4.2.2 让路由生效的案例

# nmcli connection up eth0

(补充:这里以让 eth0 生效为例)

[步骤] team 网卡捆绑组的添加 (CentOS Linux & RHEL 版)

步骤目录:

步骤一:显示现有的网卡有哪些

步骤二:添加网卡捆绑组
2.1 添加网卡捆绑组
2.1.1 添加网卡捆绑组的命令格式
2.1.2 添加网卡捆绑组的案例
2.2 添加网卡捆绑组的子网卡
2.2.1 添加网卡捆绑组子网卡的命令格式
2.2.2 添加网卡捆绑组子网卡的案例

步骤三:给网卡捆绑组配置 IP 地址

步骤四:启动网卡捆绑组
4.1 显示现有的网卡捆绑组和对应的子网卡有哪些
4.2 启动网卡捆绑组里的子网卡
4.2.1 启动网卡捆绑组里子网卡的命令格式
4.3 启动网卡捆绑组
4.3.1 启动网卡捆绑组的命令格式
4.3.2 启动网卡捆绑组的案例
4.3.3 显示网卡捆绑组的状态

步骤五:确认网卡捆绑组的 IP 地址配置成功

具体的操作步骤:

步骤一:显示现有的网卡有哪些

# nmcli connection show

步骤二:添加网卡捆绑组
2.1 添加网卡捆绑组
2.1.1 添加网卡捆绑组的命令格式

# nmcli connection add type team con-name <connection name of network card binding group> ifname <name of network card binding group> config ‘{“runner”:{“name”:”activebackup”}}’

2.1.2 添加网卡捆绑组的案例

# nmcli connection add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:”activebackup”}}’

2.2 添加网卡捆绑组的子网卡
2.2.1 添加网卡捆绑组子网卡的命令格式

# nmcli connection add type team-slave con-name <network card connection name> ifname <subnet card name> master <name of network card binding group>

2.2.2 添加网卡捆绑组子网卡的案例

# nmcli con add type team-slave con-name team0-port0 ifname eth0 master team0
# nmcli con add type team-slave con-name team0-port1 ifname eth1 master team0

步骤三:给网卡捆绑组配置 IP 地址

# nmcli connection modify team0 ipv4.addresses 192.168.100.5/24 ipv4.gateway 192.168.100.1 ipv4.method manual autoconnect yes

步骤四:启动网卡捆绑组
4.1 显示现有的网卡捆绑组和对应的子网卡有哪些

# nmcli connection show

4.2 启动网卡捆绑组里的子网卡
4.2.1 启动网卡捆绑组里子网卡的命令格式

# nmcli connection up <subnet card name>

4.2.2 启动网卡捆绑组里的子网卡

# nmcli connection up team0-port0
# nmcli connection up team0-port1

或者:

# nmcli connection reload

4.3 启动网卡捆绑组
4.3.1 启动网卡捆绑组的命令格式

# nmcli connection up <name of network card binding group>

4.3.2 启动网卡捆绑组的案例

# nmcli connection up team0

4.3.3 显示网卡捆绑组的状态

# teamdctl team1 status

步骤五:确认网卡捆绑组的 IP 地址配置成功

# ip address show 

(补充:如果网卡组里出现了我们配置的 IP 地址,则代表 IP 地址配置成功)

[内容] Linux 网卡速率的显示

方法一:通过网卡当前的工作状态得知

# ethtool ens192
Settings for ens192:
        Supported ports: [ TP ]
        Supported link modes:   1000baseT/Full 
                                10000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Supports Wake-on: uag
        Wake-on: d
        Link detected: yes

(补充:由上面的输出结果可以得知 ens192 网卡目前工作在 1000baseT/Full 状态)

方法二:通过网卡的型号得知

# lspci -vvv | grep Ethernet
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
        Subsystem: VMware VMXNET3 Ethernet Controller

(补充:由上面的输出结果可以得知,网卡设备为 VMware VMXNET3 Ethernet Controller (rev 01) ,我们可以在网上搜索此设备名以得知此网卡的速率)