Link

Centos 网络

目录

  1. Centos 网络
    1. 查看 IP
    2. IP 地址配置
      1. 手动配置 IP 地址(临时)
      2. 手动设置网关(临时)
    3. 设置静态路由(永久)
    4. 修改网卡 mac 地址
      1. 手动配置(临时)
    5. 重启网络服务
    6. 域名解析相关
    7. 安装 ping、wget 等网络相关工具
    8. veth pair
      1. 添加 veth
    9. 桥接相关
      1. 添加 bridge
      2. 为 bridge 设置 IP
      3. 将接口关联到 bridge
      4. 查看有 bridge 下有哪些设备
    10. 网络命令空间(network namespace)
    11. 关闭 UFW

查看 IP

ifconfig
ifconfig ens192

[root@K8S-M ~]# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:27ff:fe11:150c  prefixlen 64  scopeid 0x20<link>
        ether 02:42:27:11:15:0c  txqueuelen 0  (Ethernet)
        RX packets 83126  bytes 50636625 (48.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 110172  bytes 133085743 (126.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.1.120  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::250:56ff:fea2:7ccb  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a2:7c:cb  txqueuelen 1000  (Ethernet)
        RX packets 58554083  bytes 9811467626 (9.1 GiB)
        RX errors 0  dropped 5956  overruns 0  frame 0
        TX packets 45612029  bytes 23462229908 (21.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

或者

ip addr
ip addr show dev ens192

[root@K8S-M ~]# ip addr show dev ens192
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:a2:7c:cb brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.120/24 brd 10.0.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fea2:7ccb/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

IP 地址配置

网络配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-ens192

HWADDR=00:50:56:a2:7c:cb
NAME=ens192
DNS1=10.0.1.10
DOMAIN="corp.local"
DEVICE=ens192
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
IPADDR=10.0.1.120
NETMASK=255.255.255.0
GATEWAY=10.0.1.1
PEERDNS=no
IPV6INIT=yes
IPV6_AUTOCONF=yes

check_link_down() {
 return 1;
}

Rocky9 可以使用 nmtui 命令来图形化进行修改。

手动配置 IP 地址(临时)

ifconfig ens33 192.168.0.20 netmask 255.255.255.0 up

#添加 secondary 地址
ifconfig ens33 add 192.168.1.20 netmask 255.255.255.0 up

ip addr add 10.1.1.1/24 dev ens33

#删除地址配置
ip addr del 10.1.1.1/24 dev ens33

手动设置网关(临时)

sudo route add default gw 10.1.1.1
#或者
ip route add 172.16.0.0/24 via 10.1.1.1 dev ens33

#删除网关配置
sudo route del default gw 10.1.1.1

设置静态路由(永久)

vim /etc/sysconfig/network-scripts/route-ens192

192.168.40.0/24 via 192.168.30.1 dev ens192

修改网卡 mac 地址

配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-ens192

HWADDR=00:50:56:a2:7c:cb

手动配置(临时)

ifconfig ens192 hw ether 00:0c:29:ab:66:72

或者

ip link show

ip link set dev ens192 address 00:0c:29:ab:66:73

重启网络服务

systemctl	restart network

域名解析相关

安装解析工具(dig、nslookup 之类):

yum install bind-utils -y

Hosts 文件:

vim /etc/hosts

192.168.10.100 n01.vmware.local
192.168.10.91 m01.vmware.local
192.168.10.92 m02.vmware.local
192.168.10.93 m03.vmware.local

DNS 配置文件(此文件内容会根据 ifcfg-ensXX 中的 DNS 配置自动更新):

vim /etc/resolv.conf

# Generated by NetworkManager
search corp.local
nameserver 10.0.1.10

安装 ping、wget 等网络相关工具

yum install wget net-tools bridge-utils tcpdump -y

veth pair

添加 veth

ip link veth0 type veth peer name veth1
ip addr add 10.1.1.1/24 dev veth0
ip addr add 10.1.1.2/24 dev veth1
ip link set veth0 up
ip link set veth1 up

桥接相关

添加 bridge

ip link add name br0 type bridge
ip link set br0 up

或者

brctl addbr br0 

为 bridge 设置 IP

ip addr add 10.1.1.1/24 dev br0

将接口关联到 bridge

ip link set dev veth0 master br0
#或者
brctl addif br0 veth0

查看有 bridge 下有哪些设备

root@k8s-m01:~# bridge link
6: veth19269bd state UP @(null): <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 master docker0 state forwarding priority 32 cost 2

#或者
brctl show
root@k8s-n01:~# brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.02422c4c4531       no              veth057cc45
                  

网络命令空间(network namespace)

添加网络 namespace

ip netns add networkns1

在命令空间中执行 ip link list

ip netns exec networkns1 ip link list 

查看有哪些namespace

ip netns list 

删除命令空间

ip netns delete networkns1 

将设备分配到某命令空间

ip link set veth1 netns networkns1 

#设置地址
ip netns exec networkns1 ifconfig veth1 10.1.1.2/24 up

关闭 UFW

systemctl stop ufw
ufw disable

参考资料:

《k8s 网络权威指南》