如何手动设置ubuntu服务器的ip、子网掩码、网关、DNS

news2024/12/26 7:47:51

在 Ubuntu 服务器上手动设置 IP 地址、子网掩码、网关和 DNS,通常有两种方式:使用传统的 ifconfig 命令和配置文件,或者使用现代的 netplan 配置方式(对于 Ubuntu 17.10 及以后版本,netplan 是默认的网络配置工具)。下面将分别介绍这两种方法。

1. 使用 netplan 配置(适用于 Ubuntu 17.10 及以后版本)

在 Ubuntu 17.10 和更高版本中,默认使用 netplan 来管理网络设置。你可以通过编辑 netplan 配置文件来手动设置 IP 地址、子网掩码、网关和 DNS。

步骤 1:找到并编辑 netplan 配置文件

配置文件通常位于 /etc/netplan/ 目录下。进入该目录,找到以 .yaml 结尾的文件。通常这个文件名是 01-netcfg.yaml 或类似名称。

cd /etc/netplan/
ls
sudo nano 00-installer-config.yaml  # 或者其他文件名
步骤 2:编辑配置文件

在配置文件中,按照以下格式设置你的网络配置:

network:
  version: 2
  renderer: networkd  # 这里使用 networkd 渲染器,也可以使用 NetworkManager,视你的环境而定
  ethernets:
    eth0:  # 这里是你网卡的名称,可以是 eth0、enp0s3 等,查看可以用 `ip a` 或 `ifconfig`
      dhcp4: no  # 关闭 DHCP(如果你需要静态 IP)
      addresses:
        - 192.168.1.100/24  # 设置静态 IP 和子网掩码(/24 代表 255.255.255.0)
      gateway4: 192.168.1.1  # 设置网关
      nameservers:
        addresses:
          - 8.8.8.8  # 设置 DNS
          - 8.8.4.4  # 可以设置多个 DNS

这个配置文件会将 eth0 网卡的 IP 设置为 192.168.1.100,子网掩码为 255.255.255.0,网关为 192.168.1.1,DNS 服务器为 8.8.8.88.8.4.4

步骤 3:应用更改

编辑完成后,保存并关闭文件,然后应用更改:

sudo netplan apply

你也可以使用以下命令检查配置是否正确:

sudo netplan try

netplan try 会在一定时间内尝试应用配置,如果出现问题,它会自动回滚,以防止配置错误导致网络中断。

步骤 4:验证网络配置

你可以使用 ip aifconfig 查看当前网络配置:

ip a

检查 IP 地址、子网掩码和网关是否已正确配置。

2. 使用 ifconfig 和传统网络配置文件(适用于较旧版本的 Ubuntu)

对于 Ubuntu 16.04 及更早版本,你需要手动编辑网络配置文件来设置静态 IP。你可以通过编辑 /etc/network/interfaces 文件来进行配置。

步骤 1:编辑 /etc/network/interfaces 文件
sudo nano /etc/network/interfaces
步骤 2:设置静态 IP 配置

找到你要配置的网络接口(通常是 eth0ens33 等),然后添加以下内容:

# Example for eth0 interface
auto eth0
iface eth0 inet static
    address 192.168.1.100      # 设置静态 IP 地址
    netmask 255.255.255.0      # 设置子网掩码
    gateway 192.168.1.1        # 设置网关
    dns-nameservers 8.8.8.8 8.8.4.4  # 设置 DNS 服务器
步骤 3:重启网络服务

保存并关闭文件后,重启网络服务以应用配置:

sudo systemctl restart networking

或者使用 ifdownifup 命令:

sudo ifdown eth0 && sudo ifup eth0
步骤 4:验证网络配置

使用 ip aifconfig 命令来验证配置是否正确应用:

ip a

3. 使用 nmcli 配置(NetworkManager)

如果你使用的是桌面版 Ubuntu 或安装了 NetworkManager,你还可以通过 nmcli 命令行工具来配置网络。

步骤 1:查看现有连接

首先,使用 nmcli 查看当前网络连接名称:

nmcli con show
步骤 2:修改连接配置

假设你要配置名为 Wired connection 1 的网络连接,可以使用以下命令来设置静态 IP:

sudo nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24
sudo nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1
sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con mod "Wired connection 1" ipv4.method manual
步骤 3:重新启动连接
sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"

通过 nmcli 你可以方便地管理网络配置,尤其是在使用 NetworkManager 管理网络时。

总结

  • 对于现代 Ubuntu 版本(17.10 及以后),推荐使用 netplan 配置静态 IP。
  • 对于较旧版本的 Ubuntu,使用 /etc/network/interfaces 配置。
  • 你还可以使用 nmcli 管理通过 NetworkManager 管理的连接。

设置完成后,你可以通过 ip aifconfig 验证网络设置是否生效。如果遇到问题,可以查看网络服务的日志或重启服务器进行排查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2252253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前缀和篇——繁星斗斗数字交织中,觅得效率明月辉光(1)

前言 在这片无边无际的数字海洋中,如何从中提取出有价值的讯息,成为了计算机科学中的一项重要课题。前缀和算法,作为一种巧妙的技术,恰如其名——通过计算序列中各个元素的前缀和,能够为我们提供一种高效的查询方式&a…

STM32 HAL库 + LM2904运算放大器 + ADC + VDO温度传感器:电路设计及代码实现

本文将详细介绍如何使用STM32F407的HAL库,实现通过单通道ADC采集VDO温度传感器的信号,并通过串口将采集到的温度值打印输出。具体流程包括:通过分压电阻将获得VDO温度传感器的分压电压,再利用运算放大器LM2904对信号进行放大&…

Python酷库之旅-第三方库Pandas(252)

目录 一、用法精讲 1191、pandas.tseries.offsets.BusinessMonthBegin.n属性 1191-1、语法 1191-2、参数 1191-3、功能 1191-4、返回值 1191-5、说明 1191-6、用法 1191-6-1、数据准备 1191-6-2、代码示例 1191-6-3、结果输出 1192、pandas.tseries.offsets.Busine…

【Linux服务器】CPU问题排查

概述 总体排查思路 总体观察,htop命令观察系统负载程度 检查CPU占用高的进程检查CPU硬件信息是否为问题根源从宏观到细节分析系统IO情况最后检查系统日志 排查思路 系统负载 通过htop命令查看系统负载,通过系统负载可以判断系统是否繁忙,主…

详解MyBatis之篇一

目录 MyBatis 定义 使用MyBatis操作数据库 创建项目 配置 演示 UserInfo.java UserInfoMapper UserInfoMapperTest 数据准备 自动生成测试类 运行结果 MyBatis 定义 MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避…

编译器优化技术

方法内联 逃逸分析 公共子表达式消除 数据边界检查消除

汽车IVI中控开发入门及进阶(三十五):架构QML App Architecture Best Practices

在Qt/QML工程的架构中,架构很重要,虽然本身它有分层,比如QML调用资源文件(图片等)显示GUI界面,后面的CPP文件实现界面逻辑,但是这个分类还有点粗。在实际开发中,界面逻辑也就是基于类cpp的实现,也开始使用各种面向对象的设计模式,实现更加优秀的开发架构,这点尤其在…

本地Docker部署个人在线音乐平台Melody结合内网穿透远程访问听音乐

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

异常--C++

文章目录 一、异常的概念及使用1、异常的概念2、异常的抛出和捕获3、栈展开4、查找匹配的处理代码5、异常重新抛出6、异常安全问题7、异常规范 二、标准库的异常 一、异常的概念及使用 1、异常的概念 异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并…

字符串p型编码

字符串p型编码 C 语言实现C 实现Java 实现Python 实现 💐The Begin💐点点关注,收藏不迷路💐 给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串str,请写出str的p型编码串。例如&…

UIlicious - 自动化端到端测试

在现代软件开发中,测试自动化已然成为产品交付质量的基石。而端到端测试(E2E),作为验证整个应用流畅运行的关键,常常是测试工作中最具挑战性的一环。这时,一款简单高效的自动化测试工具——UIlicious&#…

机器学习:机器学习项目的完整周期

建立一个有价值的机器学习系统时,需要考虑和计划哪些步骤? 以语音识别为例演示机器学习项目的全周期:机器学习项目的第一步是对项目进行范围划分,即决定什么是项目和你想做什么,然后是收集数据,所以决定需…

浪潮X86服务器NF5280、8480、5468、5270使用inter VROC Raid key给NVME磁盘做阵列

Inter VROC技术简介 Intel Virtual RAID on CPU (Intel VROC) 简单来说就是用CPU的PCIE通道给NVME硬盘做Raid 更多信息可以访问官方支持页面 Raid Key 授权,即VROC SKU 授权主要有用的有2个标准和高级,仅Raid1的授权我暂时没见过。 标准 VROCSTANMOD …

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本)

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) code review! 参考笔记 1.ROS基本框架1——编写简单的发布者和订阅者(C++和Python版本) 2.ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) 文章目录 ROS基本框架2——在ROS开发中创建并使用自定义…

鸿蒙征文|鸿蒙技术分享:使用到的开发框架和技术概览

目录 每日一句正能量前言正文1. 开发环境搭建关键技术:2. 用户界面开发关键技术:3. 应用逻辑开发关键技术:4. 应用测试关键技术:5. 应用签名和打包关键技术:6. 上架流程关键技术:7. 后续维护和更新关键技术…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了,对Arcgis已进一步熟悉了,现在开启第二个实验 ArcMap实验--网络分析 目录 ArcMap实验--网络分析 1.1 网络分析介绍 1.2 实验内容及目的 1.2.1 实验内容 1.2.2 实验目的 2.2 实验方案 2.3 实验流程 2.3.1 实验准备 2.3.2 空间校正…

go语言 Pool实现资源池管理数据库连接资源或其他常用需要共享的资源

go Pool Pool用于展示如何使用有缓冲的通道实现资源池,来管理可以在任意数量的goroutine之间共享及独立使用的资源。这种模式在需要共享一组静态资源的情况(如共享数据库连接或者内存缓冲区)下非 常有用。如果goroutine需要从池里得到这些资…

马铃薯病害识别(VGG-16复现)

VGG16-Pytorch实现马铃薯病害识别 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊 电脑系统:Windows11 显卡型号:NVIDIA Quadro P620 语言环境:python 3.9.7 编译器&am…

HCSIF: 中国区域2000-2022年高时空分辨率(500m)SIF数据集

日光诱导叶绿素荧光(Solar-induced chlorophyll fluorescence, SIF)被誉为“植被光合作用的探针”。2017年,搭载在Sentinel-5P卫星上的 TROPOMI (TROPOspheric Monitoring Instrument)传感器成功发射,该卫星同时具有高…

STL:相同Size大小的vector和list哪个占用空间多?

在C中,vector和list是两种不同的序列容器。vector底层是连续的内存,而list是非连续的,分散存储的。因此,vector占用的空间更多,因为它需要为存储的元素分配连续的内存空间。 具体占用多少空间,取决于它们分…