[内容] Linux 网络的设置 (临时 IP 地址)

内容一:使用 ifconfig 命令

1.1 使用 ifconfig 命令添加临时 IP 地址的格式

# ifconfig <network card name> <static IP address> netmask <subnet mask> up

或者:

# ifconfig <network card name> <static IP address>/<subnet mask> up

1.2 使用 ifconfig 命令给网卡添加临时 IP 地址的案例

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

或者:

# ifconfig eth0 192.168.1.1/24 up

(补充:这里以给 eth0 添加临时 IP 地址 192.168.1.1/24 为例)

1.3 使用 ifconfig 命令给子网卡添加临时 IP 地址的案例

# ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 up

或者:

# ifconfig eth0:1 192.168.1.1/24 up

(补充:这里以给 eth0 添加临时 IP 地址 192.168.1.1/24 为例)

内容二:使用 ip 命令

2.1 使用 ip 命令添加临时 IP 地址的格式

# ip a/addr/address add <static IP address>/<subnet mask> dev <network card name>

2.2 使用 ip 命令给网卡添加临时 IP 地址的案例

# ip a/addr/address add 192.168.1.1/24 dev eth0

(补充:这里以给 eth0 添加临时 IP 地址 192.168.1.1/24 为例)

2.3 使用 ip 命令给子网卡添加临时 IP 地址的案例

# ip a/addr/address add 192.168.1.1/24 dev eth0:1

(补充:这里以给 eth0:1 添加临时 IP 地址 192.168.1.1/24 为例)

补充一:删除临时 ip 地址的格式

# ip a/addr/address del/delete <static IP address>/<subnet mask> dev <network card name>

补充二:删除网卡临时 ip 地址的案例

# ip a/addr/address del/delete 192.168.1.1/24 dev eth0

(补充:这里删除 eth0 临时 IP 地址 192.168.1.1/24 为例)

补充三:删除子网卡临时 ip 地址的案例

# ip a/addr/address add 192.168.1.1/24 dev eth0:1

(补充:这里删除 eth0:1 临时 IP 地址 192.168.1.1/24 为例)

[内容] Linux 网络的显示 (网关 IP 地址)

内容一:使用命令来显示现有网关 IP 地址

1.1 通过 route 命令

# route -n

1.2 通过 ip 命令

# ip route show

1.3 通过 traceroute 命令

# traceroute eternalcenter.com

(补充:输出的第一行就是现在的网关)

1.4 通过 netstat 命令

# netstat -nr

1.5 通过 nmcli 命令

# nmcli connection <network card name> | grep ipv4.ga

内容二:通过网路配置文件来显示现有网关 IP 地址

如果是 Rocky Linux & RHEL:

# cat /etc/sysconfig/network-scripts/ifcfg-<network card name>

如果是 openSUSE & SLES:

# cat /etc/sysconfig/network/routes

[步骤] 网络设置 (通过网卡文件设置 IP 地址、网关 IP 地址和 DNS) (CentOS Linux & RHEL 版)

步骤一:修改网卡配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

将全部内容修改如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=839428e5-45c0-4dc7-933d-08f3bcf11056
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.11.111
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=8.8.8.8
DNS2=114.114.114.114


补充:这里以:
1) 静态 IP 地址
2) 网卡名称是 eth0
3) 网卡 UUID 是 839428e5-45c0-4dc7-933d-08f3bcf11056
4) 开机启动
5) IP 地址是 192.168.11.111
6) 子网掩码是 255.255.255.0
7) 网关 IP 地址是 192.168.11.1
8) 第 1 个 DNS 是 8.8.8.8
9) 第 2 个 DNS 是 114.114.114.114
为例

步骤二:启动网卡

2.1 如果系统版本是 CentOS 7 & RHEL 7 及以下的启动方法

# ifup eth0

或者:

# service network restart

2.2 如果系统版本是 CentOS 8 & RHEL 8 及以上的启动方法

# nmcli connection down eth0
# nmcli connection up eth0

或者:

# reboot

步骤三:显示新网卡的 IP 地址

# ip a s

[工具] Shell 批量检测服务器网络的联通状态

介绍

基本信息

作者:朱明宇
名称:批量检测服务器网络的联通状态
作用:批量检测服务器网络的联通状态

使用方法

1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个远程服务器名或 IP 地址占用 1 行
3. 在此脚本的分割线内写入相应的内容
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量

list=”servers_all_list.txt” #指定服务器清单

脚本

#!/bin/bash

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

list="servers_all_list.txt"

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

read -p "will ping please input y " a
echo $a

if [ "$a" != "y" ];then
        echo "you don't agree so exit now"
        exit
fi

num=0

for i in `awk '{print $1}' servers_all_list.txt`
do
        let num++
        echo "$num $i"
        ping -c3 -i0.4 -w0.8 $i
        echo
done


补充:清单示例如下,可直接复制粘贴,如果不更改脚本,清单请命名为 servers_all_list.txt:

db1
db2
db3
web1
web2

[步骤] Linux 网络的设置 (禁用 IPv6) (Rocky Linux & RHEL 版)

内容一:显示 IPv6 是否启用

1.1 方法一:通过 ifconfig 命令实现

# ifconfig

1.2 方法二:通过 ip 命令实现

# ip a s

(补充:如果出现了 inet6 则 IPv6 是激活的)

1.3 方法三:通过 sysctl 命令实现

# sysctl -a |grep -i ipv6|grep -i disable
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.eth1.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

(补充:从输出结果中可以看出 IPv6 已经被禁用)

内容二:临时禁用 IPv6

2.1 临时禁用本地所有的 IPv6

# sysctl -w net.ipv6.conf.all.disable_ipv6=1

2.2 临时禁用某 1 张网卡的 IPv6

# sudo echo 1 > /proc/sys/net/ipv6/conf/ens32/disable_ipv6 


补充:
1) 这里的 ens32 是要禁用 IPv6 的网卡名称
2) 系统或者网卡重启后禁用失效

内容三;永久禁用 IPv6

3.1 方法一:通过 /etc/sysctl.conf 配置文件实现

3.1.1 修改 /etc/sysctl.conf 配置文件
# vim /etc/sysctl.conf

添加以下内容:

......
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.ens32.disable_ipv6 = 1

(补充:这里的 ens32 是要禁用 IPv6 的网卡名称)

3.1.2 使刚刚的修改生效
# sudo sysctl -p /etc/sysctl.conf

3.2 方法二:通过 /etc/default/grub 配置文件实现

3.2.1 修改 /etc/default/grub 配置文件
# vim /etc/default/grub

在这一行里:

GRUB_CMDLINE_LINUX="......"

添加:

GRUB_CMDLINE_LINUX="...... ipv6.disable=1"
3.2.2 使刚刚的修改生效
# grub2-mkconfig -o /boot/grub2/grub.cfg