ubuntu设置静态ip地址

Bingo39 / 2023-08-14 / 原文

环境

  • ubuntu版本:22.04 jammy 【查看指令lsb_release -a

ubuntu 17.xx前后,网络配置文件地址不一样

  • 查看网卡名称

有多种指令可以查看到网卡
ifconfig
ip addr show .......
无论何种方式,只要带有ip地址的一行,行名称即为网卡名称

操作

默认转换为root用户操作
访问网络配置文件 cd /etc/netplan,该目录下,01-network-manager-all.yaml文件即是,需要注意:格式为yaml文件,缩进和"-"的使用(缩进要使用空格,不能用tab键,除非再加个yaml插件)

  • 备份配置文件

一般情况linux系统会自动读取配置文件所在目录下的所有配置文件,即在/etc/netplan目录下的所有.yaml文件都能自动读取。
但是,我试了使用新建02-xxx.yaml配置文件,发现无法获取该文件内的配置,也可能是自己操作不当问题。暂且备份一份源文件,然后就在源文件基础上修改

cp 01-network-manager-all.yaml 01-network-manager-all.yaml.txt

  • 修改配置文件
    【缩进不要使用tab键,而是空格,除非添加了yaml插件】
    vim 01-network-manager-all.yaml
    修改内容
# Let NetworkManager manage all devices on this system
network:
  ethernets:
    wlp2s0:     #配置的网卡的名称
      addresses: [192.168.31.xxx/24]    #配置的静态ip地址和掩码(/24即掩码255.255.255.255)
      dhcp4: false    #关闭自动获取ipv4地址,下同
      dhcp6: false
      optional: true
      gateway4: 192.168.31.1    #网关地址
      nameservers:             #DNS服务器地址
         addresses: [114.114.114.114,180.76.76.76,192.168.31.1]
  version: 2
  renderer: networkd    #网络管理,设不设置都可以,主流默认的就是systemd-networkd

注意:
① 对于boolean参数有的版本支持yes/no,但用true/false是一定不会有错的
② 各个平台对于缩进处理好像有点出入,建议拷贝后用本地编辑器校对清楚再放入.yaml中
③ 网卡名称需要查看本机对应,ip地址自定义,网关前三段与ip地址同样,否则会导致局域网内无法访问
④ DSN服务器建议带上网关地址。否则会导致无法访问外网

  • 启动修改
    netolan apply 等待片刻即可
  • 测试
    • ping操作,ping下修改后的ip地址和内网内另外一台电脑,如果网关与ip地址前三段不一致会无法ping成功
    • ping操作,ping下baidu.com之类的外网
  • TODO
    问题描述:
    一旦打开网络代理模式,无论内网外网都无法访问了。恢复动态ip,即正常访问内外网
    内网有可能原因是,window机也同样做了静态ip设置,网关不一致无法ping通