Ubuntu 22.04服务器版本的使用:(4)查询网关ip,查询dns服务器地址,修改网络配置

前情提要

在安装好ubuntu 22.04服务器版后的一次服务器重启中,局域网分配给服务器的ip地址变了,导致ssh无法连接。为了固定局域网的ip地址,我做了以下事情:查询网关ip,查询dns服务器地址,修改网络配置。

在 Ubuntu 22.04 中,可以通过以下方法快速查询网关 IP 和 DNS 服务器地址:


一、查询网关 IP

使用 ip route 命令
ip route show default | awk '/default/ {print $3}'

输出示例
192.168.1.1(即网关 IP)


二、查询 DNS 服务器地址

查看 /etc/resolv.conf
cat /etc/resolv.conf | grep 'nameserver'

输出示例

nameserver 8.8.8.8
nameserver 192.168.1.1

根据您提供的信息,以下是针对 Ubuntu 22.04 服务器版 的完整静态 IP 配置步骤:


三、修改网络配置

1. 确认网络接口名称
ip a

找到物理网卡名称(如 ens33enp0 等)。


2. 备份原配置文件
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak

这里面备份的netplan文件即“00-installer-config.yaml”,在不同设备下是不一样的,需要先在/etc/netplan中找到该文件的文件名(通常netplan文件夹下只有一个文件,就是我们需要修改的配置文件),再备份。


3. 编辑 Netplan 配置文件
sudo vim /etc/netplan/00-installer-config.yaml

输入以下内容(替换 ens33 为您的实际接口名):

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.1.10/24    # 您的固定IP及子网掩码(/24对应255.255.255.0)
      routes:
        - to: default
          via: 192.168.1.1  # 网关IP
      nameservers:
        addresses: [192.168.1.1]  # 您的DNS地址
        search: [local]          # 可选域名搜索域

其中,固定ip地址是自己希望修改且固定下来的内网ip地址。网关ip和dns地址通过之前步骤的查找得到。


4. 应用配置
sudo netplan apply

输入指令后无任何弹出内容表示设置成功


关键验证步骤

1. 检查IP是否生效
ip a show ens33 | grep "inet "

应显示 192.168.1.10/24

2. 测试网关连通性
ping -c 4 192.168.1.1
3. 验证DNS解析
nslookup baidu.com

注意事项

  1. IP冲突预防
    确保 192.168.1.10 未被局域网其他设备占用。可通过以下命令快速检测:

    ping -c 2 192.168.1.10
    

    若无响应表示IP可用,若收到响应需更换其他IP。

  2. DNS特殊说明
    如果需要额外添加公共 DNS,可修改为:

    nameservers:
      addresses: [192.168.1.1, 8.8.8.8]
    
  3. 故障恢复
    如果配置错误导致断网,可通过备份恢复:

    sudo cp /etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yaml
    sudo netplan apply
    

<think>嗯,用户的问题是在Ubuntu 22.04服务器上更改网络地址后,网关不可达,虽然可以ping通IP地址,但网关无法访问。我需要帮他解决这个问题。首先,我应该考虑可能的原因,然后逐步排查。 首先,网络配置是否正确?用户可能修改网络配置文件,比如Netplan的YAML文件,是否正确设置了网关地址?有时候可能拼写错误或者子网掩码不正确,导致网关不在同一子网内。例如,如果用户的新IP地址是192.168.1.10/24网关应该是192.168.1.1,但如果不小心设成192.168.0.1,那就不在同一子网,自然无法到达。这时候需要检查网关IP是否在正确的子网内。 其次,路由表是否正确?使用ip route命令查看默认网关是否设置正确。如果默认路由丢失,或者指向了错误的网关,就会导致无法连接。可能用户更改了IP地址,但未正确更新网关设置,或者在配置文件中没有正确应用更改。 另外,防火墙是否阻止了到网关的通信?虽然用户能ping通其他IP,但可能防火墙规则阻止了某些协议或端口。Ubuntu默认使用ufw,需要检查是否允许相关流量通过,尤其是ICMP协议之外的流量。 还有可能网关设备本身的问题。比如,网关是否正常工作,是否有ACL限制,或者物理连接是否正常。需要建议用户检查网关设备的状态,或者尝试从其他设备ping网关,以排除服务器本身的问题。 此外,DNS解析是否有问题?虽然网关不可达通常与路由相关,但有时DNS配置错误可能导致其他网络问题,不过这个案例中可能不是主要原因,但可以作为检查项之一。 用户提到使用Netplan,可能需要确认配置文件的语法是否正确,缩进是否正确,以及是否应用了配置。例如,执行sudo netplan apply后是否有报错,或者需要重启网络服务。 还有可能的问题包括网络接口名称是否正确,比如ens33或enp0s3等,是否在配置文件中正确指定了接口。如果接口名称错误,配置无法生效。 总结一下,解决步骤应该是: 1. 检查Netplan配置文件,确认网关和子网设置正确。 2. 应用配置并验证路由表。 3. 检查防火墙设置。 4. 测试网关设备的状态和物理连接。 5. 查看日志文件,如syslog或netplan应用时的输出,寻找错误信息。 此外,用户可能需要临时添加路由或重启网络服务来测试更改是否生效。例如,使用sudo ip route add default via <网关IP>临时添加路由,测试是否解决问题。如果可行,则说明配置文件中存在错误。 需要注意的是,Ubuntu 22.04使用Netplan,配置文件的路径通常是/etc/netplan/*.yaml,修改后必须应用配置。同时,确保使用正确的缩进和语法,因为YAML对格式敏感。 可能用户还遇到DHCP与静态IP混用的问题,如果配置为静态IP,但未正确禁用DHCP,可能导致冲突。需要确认配置文件中的dhcp4是否设置为false。 最后,建议用户逐步检查每个环节,从配置到路由,再到防火墙和设备状态,逐一排除可能性,直到找到问题根源。</think>### 解决方案:Ubuntu 22.04修改网络地址网关不可达的排查步骤 #### 1. 检查网络配置文件 Ubuntu 22.04使用Netplan管理网络配置,配置文件通常位于$`/etc/netplan/*.yaml$`。需确认以下内容: - **网关地址**是否与子网匹配,例如: ```yaml network: version: 2 ethernets: ens33: addresses: [192.168.1.10/24] routes: - to: default via: 192.168.1.1 # 网关需与子网(192.168.1.0/24)一致 nameservers: addresses: [8.8.8.8] ``` - 使用$`sudo netplan apply`$应用配置后,检查是否报错[^1]。 #### 2. 验证路由表 执行$`ip route show`$,查看默认路由是否指向正确网关: ```bash default via 192.168.1.1 dev ens33 proto static ``` 若缺失默认路由,可临时添加: ```bash sudo ip route add default via 192.168.1.1 ``` #### 3. 检查防火墙规则 Ubuntu默认启用`ufw`防火墙,需确认是否允许网关通信: ```bash sudo ufw status ``` 若需放行所有流量: ```bash sudo ufw allow in on ens33 ``` #### 4. 测试网关连通性 - **物理层**:确认网线/交换机端口正常。 - **网关设备**:从其他设备ping网关,排除设备故障。 - **ARP缓存**:清除旧ARP记录: ```bash sudo ip neigh flush dev ens33 ``` #### 5. 查看日志排查错误 检查系统日志中网络相关错误: ```bash journalctl -u systemd-networkd | grep -i "error\|fail" ``` ### 关键排查流程图 $$ \begin{cases} \text{配置文件错误} & \rightarrow \text{修正Netplan配置} \\ \text{路由缺失} & \rightarrow \text{手动添加默认路由} \\ \text{防火墙拦截} & \rightarrow \text{调整ufw规则} \\ \text{网关设备故障} & \rightarrow \text{联系网络管理员} \end{cases} $$ ### 典型错误示例 若网关地址为$`192.168.1.1`$,但子网配置为$`192.168.2.10/24`$,会导致网关不在同一子网,需修正为: ```yaml addresses: [192.168.1.10/24] via: 192.168.1.1 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值