Linux配置网络

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
相关推荐
知北游天5 分钟前
Linux:多线程---深入互斥&&浅谈同步
linux·运维·服务器
Gappsong8747 分钟前
【Linux学习】Linux安装并配置Redis
java·linux·运维·网络安全
try2find40 分钟前
移动conda虚拟环境的安装目录
linux·运维·conda
码农101号1 小时前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui1 小时前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui1 小时前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
D-海漠2 小时前
Modbus_TCP_V4 客户端
网络
程序员弘羽2 小时前
Linux进程管理:从基础到实战
linux·运维·服务器