Linux配置网络
1.Centos配置网络
bash
[root@centos8 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens160
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
NAME=ens160
UUID=ed245c0e-01ab-4d8e-871f-cf52ac79347f
DEVICE=ens160
ONBOOT=yes
IPADDR=10.0.0.10
GATEWAY=10.0.0.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
关于网卡的配置文件,各个参数的含义如下:
TYPE:网卡类型。
PROXY_METHOD:代理方法。
BROWSER_ONLY:是否仅用于浏览器。
BOOTPROTO:网卡的 IP 地址获取方式。static 表示手动配置,而 dhcp 表示使用 DHCP 协议自动获取。
DEFROUTE:是否将此网卡设为默认路由。
IPV4_FAILURE_FATAL:IPv4 连接失败是否视为致命错误。
IPV6INIT:是否初始化 IPv6。
IPV6_AUTOCONF:是否使用自动配置获取 IPv6 地址。
IPV6_DEFROUTE:是否将此网卡设为默认 IPv6 路由。
IPV6_FAILURE_FATAL:IPv6 连接失败是否视为致命错误。
NAME:网卡名称。
UUID:网卡的唯一标识符。
DEVICE:网卡设备名称。
ONBOOT:是否在启动时启用此网卡。
IPADDR:静态 IP 地址。
GATEWAY:默认网关。
NETMASK:子网掩码。
DNS1:首选 DNS 服务器。
#重新加载配置文件
#使用nmcli查看网络连接,这个命令会显示系统中所有的网络连接,包括活动的和非活动的连接
[root@centos8 network-scripts]#nmcli connection show
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
Wired connection 1 bd3d361f-bd4d-3778-ad0b-2a5a957bfcc4 ethernet eth1
[root@centos8 network-scripts]
#重新加载网卡配置文件
[root@centos8 network-scripts]#nmcli connection reload
[root@centos8 network-scripts]#nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
Wired connection 1 bd3d361f-bd4d-3778-ad0b-2a5a957bfcc4 ethernet eth1
eth1 9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04 ethernet --
[root@centos8 network-scripts]#
#激活连接
[root@centos8 network-scripts]#nmcli connection up eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@centos8 network-scripts]#
#使用ifdown和ifup命令
[root@centos8 ~]#ifdown ens160
[root@centos8 ~]#ifup ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
2.Ubuntu配置网络
2.1 Ubuntu 16配置网络
bash
#Ubuntu 16.04 和 Ubuntu 18.04/20.04/22.04 在配置网络的方式上有所不同。Ubuntu 16.04 使用了一个名为 ifupdown 的传统工具,通过 /etc/network/interfaces 文件来配置网络接口。而在 Ubuntu 18.04 及更高版本中,默认使用了 Netplan 来进行网络配置。
#[root@ubuntu1604 ~]#vim /etc/network/interfaces
# /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.101
netmask 255.255.255.0
gateway 10.0.0.2
dns-nameservers 114.114.114.114
#虽然 Ubuntu 16.04 默认使用 ifupdown,但您仍然可以手动安装并使用 Netplan。如果您希望在 Ubuntu 16.04 中使用 Netplan,您需要先安装它,然后像在 Ubuntu 18.04 及更高版本中一样使用 YAML 文件进行网络配置。
#停止eth0接口
[root@ubuntu1604 ~]#sudo ifdown eth0
#重新启动eth0接口
[root@ubuntu1604 ~]#sudo ifup eth0
#还可以通过重新启动整个网络服务来应用更改,但这可能会导致所有网络连接暂时中断。要重新启动网络服务,请执行以下命令:
[root@ubuntu1604 ~]sudo systemctl restart networking
2.2 Ubunt18、20、22配置网络
Netplan 是一个用于配置网络连接的实用工具,它是 Ubuntu 17.10 及更高版本的默认网络配置工具。Netplan 使用 YAML 描述网络配置,并使用 NetworkManager 或 Systemd-networkd 来应用这些配置。
bash
#进入/etc/netplan目录
[root@ubuntu1804 netplan]#pwd
/etc/netplan
[root@ubuntu1804 netplan]#
#找到或创建一个后缀名以.yaml结尾的文件,如果后缀名不是.yaml结尾的不起作用,并且yaml文件中对缩进有严格要求,一般同一级别是缩进两个空格
[root@ubuntu1804 netplan]#vim eth0.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
#方法一:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false #如果是静态的话,可以将这一行删掉
addresses: [10.0.0.101/24,10.0.0.103/24] #冒号后面一定要有空格,可以配多个地址
- 10.0.0.102/24
gateway4: 10.0.0.2
nameservers:
search: [baidu.com,xingyuyu.com] #ping www 会自动补全域名,可以通过/etc/resolv.conf查看域名
addresses: [114.114.114.114]
eth1:
dhcp4: false
addresses: [10.0.0.100/24]
gateway4: 10.0.0.2
routes:
- to: 10.20.0.0/16
via: 10.0.0.222
bridges: #这个是加网桥,和ethernets平级,也可以给桥接单独配置一个文件
br0:
dhcp4: no
dhcp6: no
addresses: [10.0.0.101/24]
gateway4: 10.0.0.2
nameservers:
addresses: [114.114.114.114,8.8.8.8,10.0.0.2]
interfaces:
- eth0
- eth1
#方法二:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false #如果是静态的话,可以将这一行删掉
addresses:
- 10.0.0.102/24 #可以缩进也可以不缩进,横线后面要有空格
- 10.0.0.103/24
gateway4: 10.0.0.2
nameservers:
addresses: [114.114.114.114]
[root@ubuntu1804 netplan]#
#以下是配置文件中各个部分的简要解释:
#network: 这是文件的根元素,表示我们正在定义一个网络配置。
#version: 表示 YAML 文件中使用的 Netplan 版本,当前设置为 2。
#renderer: 指定应用网络配置的后端,可以是 NetworkManager 或 networkd。这里选择了 networkd 作为后端。
#ethernets: 这是一个子元素,表示我们将配置以太网接口。接下来,我们将定义一个名为 eth0 的以太网接口。
#eth0: 这是我们要配置的以太网接口的名称。
#dhcp4: 设置为 false,表示我们将使用静态 IP 地址配置而非 DHCP。
#addresses: 包含一个静态 IP 地址(10.0.0.101)和相应的子网掩码(/24)。
#gateway4: 指定默认网关的 IPv4 地址(10.0.0.2)。
#nameservers: 配置 DNS 服务器。
#addresses: 包含一个 DNS 服务器地址(114.114.114.114)。
#配置文件生效
[root@ubuntu1804 netplan]#sudo netplan apply
#查看dns,在/etc/resolv.conf文件已经无法看到了
[root@ubuntu1804 netplan]#systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (eth0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 114.114.114.114 #DNS
[root@ubuntu1804 netplan]#
3.Ubuntu使用Root连接
bash
#编辑配置文件,大约在32行附近找到 #PermitRootLogin prohibit-password在下面添加一行,改成yes
[root@ubuntu1804 netplan]$vim /etc/ssh/sshd_config
PermitRootLogin yes
#刚装好的ubuntu的root是没有密码的
#切换root用户
[root@ubuntu1804 netplan]$sudo -i
#设置root密码
[root@ubuntu1804 netplan]$passwd 或者echo "root:root" | chpasswd
#重启ssh服务
[root@ubuntu1804 netplan]$sudo systemctl restart sshd
4.Rocky Linux
bash
# 配置网络
# Rocky Linux 改变了传统的网络配置,在/etc/sysconfig/network-scripts/下已经没有配置文件了,新的配置文件生成在了/etc/NetworkManager/system-connections/目录下,但是在之前的目录下创建配置文件也是可以的
# 使用nmcli添加新的以太网连接
[root@Rocky9 system-connections]# nmcli connection add type ethernet con-name eth0
# 修改已存在的连接设置
[root@Rocky9 system-connections]# nmcli connection modify eth0 ipv4.addresses "10.0.0.107/24" ipv4.gateway "10.0.0.2" ipv4.dns "10.0.0.2" ipv4.method manual
# 启动/停止连接
[root@Rocky9 system-connections]# nmcli connection up eth0
[root@Rocky9 system-connections]# nmcli connection down eth0
[root@Rocky9 system-connections]#
#使用 nmtui 配置网络:
运行 nmtui 命令,这将打开一个字符界面的网络配置工具,你可以使用键盘上下左右键来选择和修改网络配置。
如果你确实需要使用 /etc/sysconfig/network-scripts/ 目录并希望在那里看到 ifcfg- 文件,你可以手动创建文件,或者使用 network-scripts 包(如果可用)并禁用 NetworkManager。
Rocky linux8.5多了一个virbr0的网卡
virbr0
是由 libvirt 创建的虚拟网络桥,通常用于支持 KVM/QEMU 虚拟机。这个网络桥使得虚拟机可以与外部网络通信。当你安装并启动 libvirt 守护程序或相关的工具(如virt-manager
)时,virbr0
通常会自动创建。默认情况下,它配置为一个 NAT 模式的桥接器,这允许虚拟机与主机共享 IP 地址进行网络通信。
bash
# 停用和删除虚拟网络:
virsh net-destroy default
virsh net-undefine default
# 上述命令首先会停用名为 default 的虚拟网络,然后从 libvirt 配置中删除它。
# 2.禁用 libvirt 守护程序:
systemctl stop libvirtd-admin.socket
systemctl stop libvirtd.socket
systemctl stop libvirtd-ro.socket
systemctl stop libvirtd
systemctl disable libvirtd
# 删除相关的软件包:
# 如果你确信你不再需要虚拟化支持,可以使用包管理器删除相关的软件包。
yum remove libvirt qemu-kvm