ubuntu16.04 设置静态ip

发布时间:2018-05-08 10:34,

浏览次数:529

, 标签:

ubuntu

ip

ubuntu16.04 网卡命名

在给ubuntu的有线网卡或者无线网卡设置静态ip之前,首先我们需要了解有关网卡命名的知识。

在unbuntu16.04之后,ifconfig会发现网卡名eth0变成了enp2s0,wlan0变成了enp3s0或者类似的名称。

这种改变可以参考Predictable Network Interface Names

.

网卡命名更换的原因如文中所说:

内核应用的网络接口的经典命名方案是简单地将由“eth0”,“eth1”开头的名称分配给驱动程序探测到的所有接口。

由于驱动程序探测通常对于现代技术来说是不可预测的,这意味着只要多个网络接口可用,名称“eth0”,“eth1”等的分配通常不再是固定的,并且很可能发生“

eth0“在一次启动时最终成为”eth1“。这可能具有严重的安全隐患,例如在为某些命名方案编码的防火墙规则中,因此对不可预知的更改名称非常敏感。

为了解决这个问题,已经提出并实施了多种解决方案。 udev在较长时间内支持根据其MAC地址为特定接口分配永久“ethX”名称。

事实证明,这有许多问题:这需要一个通常不可用的可写根目录;由于在系统上引导OS映像会导致系统的无状态丢失,导致映像配置发生变化;

在很多系统上,MAC地址并没有实际的固定,比如在很多嵌入式硬件上,特别是在各种虚拟化解决方案上。

然而,最重要的是,用户空间组件尝试分配接口名称,与内核分配来自同一个“ethX”名称空间的新名称,这是一种具有各种奇怪效果的竞态条件,其中名称分配有时失败。

因此,在此之前已经从systemd / udev中删除了对此的支持。

另一个已经实现的解决方案是“biosdevname”,它尝试在某些固件接口中查找固定插槽拓扑信息,并使用它们将固定名称分配给包含其在主板上的物理位置的接口。

在某种程度上,这种命名方案类似于通过/ dev / * / by-path / symlinks为各种设备节点在udev中本地完成的命名方案。

在许多情况下,biosdevname不同于udev通常用于这些符号链接的低级内核设备标识方案,而是发明自己的枚举方案。

最后,许多发行版都支持将用户选择的名称重新命名为接口(认为:“internet0”,“dmz0”,...),将其MAC地址或物理位置作为其网络脚本的一部分。

这是一个非常好的选择,但确实存在这样的问题,即它意味着用户愿意并且能够选择和分配这些名称。

我们认为推广“biosdevname”开创的方案是一个很好的默认选择。

根据固件/拓扑/位置信息分配固定名称具有很大的优点,即名称是完全自动的,完全可预测的,即使添加或移除硬件(即不发生重新枚举),它们仍保持固定,并且可以替换损坏的硬件

无缝连接。尽管如此,他们承认有时比每个人都习惯的“eth0”或“wlan0”更难阅读。例如:“enp5s0”

网卡命名的规则

在udev-builtin-net_id

中还提到了网卡的新命名规则

/* * Two character prefixes based on the type of interface: * en — Ethernet *

sl — serial line IP (slip) * wl — wlan * ww — wwan * * Type of names: *

b — BCMA bus core number * c — CCW bus group name, without

leading zeros [s390] * o[d] — on-board device index number *

s[f][d] — hotplug slot index number * x — MAC

address * [P]ps[f][d] * — PCI

geographical location *

[P]ps[f][u][..][c][i] * —

USB port number chain*/

上面一段是systemd源码的注释,意思是:

*

en代表以太网卡

*

p3s0代表PCI接口的物理位置为(3, 0), 其中横座标代表bus,纵座标代表slot

给网卡设置静态ip

使用ifconfig命令,我们能看到以下有三个网卡的信息。

enp2s0 Link encap:以太网 硬件地址 20:1a:06:be:7b:ec inet 地址:10.10.15.172

广播:10.10.15.255 掩码:255.255.255.0 inet6 地址: fe80::102c:6a2e:d483:1fe9/64

Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:8377 错误:0 丢弃:39

过载:0 帧数:0 发送数据包:3808 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:3530723 (3.5 MB)

发送字节:510433 (510.4 KB) 中断:16 lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0

inet6 地址: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 跃点数:1 接收数据包:10307

错误:0 丢弃:0 过载:0 帧数:0 发送数据包:10307 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000

接收字节:33424684 (33.4 MB) 发送字节:33424684 (33.4 MB) wlp3s0 Link encap:以太网 硬件地址

48:5a:b6:d7:2a:f3 UP BROADCAST MULTICAST MTU:1500 跃点数:1 接收数据包:0 错误:0 丢弃:0 过载:0

帧数:0 发送数据包:0 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:0 (0.0 B) 发送字节:0 (0.0 B)

中断:17

这三个网卡分别代表了有线网卡、本地环回和无线网卡。区分是有线网卡还是无线网卡,只需校验在使用网线连接时,哪个网卡有ip地址信息,有即为有线网卡。或者在使用wifi连接时,哪个网卡有ip地址信息,有即为无线网卡。

以下以给有线网卡enp2s0设置静态ip为例:

打开一个终端,在超级用户下使用如下命令:

vim /etc/network/interfaces

然后编辑网络的配置命令,先将原先的命令注释掉,然后添加新的命令:

#auto lo

#iface lo inet loopback

上面的注释之后,添加一下:

auto enp2s0

iface enp2s0 inet static

address 10.10.15.172

netmask 255.255.255.0

gateway 10.10.15.1

broadcast 10.10.15.255

dns-nameserver 223.5.5.5

其中需注意的是:

1、网关地址要根据自己的局域网来填写,每个人的都不一样。

可以用ip route show命令查看自己的网关地址

default via 10.10.15.1 dev enp2s0 proto static metric 100 10.10.15.0/24 dev

enp2s0 proto kernel scope link src 10.10.15.172 metric 100 169.254.0.0/16 dev

enp2s0 scope link metric 1000

由上可知,10.10.15.1为我的网关地址。

2、dns-nameserver尽量选择知名度较高的公共dns

可以在公共dns哪家强-知乎 选择你喜欢的公共dns

设置完重启电脑后,/etc/resolv.conf 文件中会自动添加 nameserver  223.5.5.5

参考:ubuntu linux设置静态ip的方法

给无线网卡设置静态ip

Wireless network configuration

wireless device driver

首先需要确保无线网卡驱动已安装,并且工作正常。

启动的的时候,udev会识别硬件,并加载相应的驱动。

有些芯片需要额外的firmware, 默认安装的linux-firmware提供了很多固件。

检查设备状态:

lspci -k 或者 lspci -v

检查设备驱动是否已经加载

例如:

123405:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe

Wireless Network Adapter Subsystem: Lenovo Device b728 Kernel driver in use:

rtl8723be Kernel modules: rtl8723be

通过ip link 查看设备, 无线设备通常是wlp5s0这样的名称。

启用设备:

ip link set up

如果设备加载正常,接口正常启用,则说明不需要安装额外的firmware.

如果显示错误信息: “SIOCSIFFLAGS: No such file or directory”, 那说明缺失firmware

查看已加载的firmware的kernel message信息

12$ dmesg | grep firmware[ 11.644190] Using firmware rtlwifi/rtl8723befw.bin

install driver/firmware:

Linux支持的无线网卡驱动

Linux Wi-Fi设备ID列表

RTL Wi-Fi的git地址: https://github.com/lwfinger/rtlwifi_new.git

manage the wireless connections

管理方法接口激活无线连接管理IP地址分配

手动设置 (无加密,或者WEP加密)ipiwip/dhcpd/dhclient/networkd

手动设置 (WAP/WAP2 PSK加密)ipiw + wpa_supplicantip/dhcpd/dhclient

自动管理 netctl, Wicd, NetworkManger等

Just like other network interfaces, the wireless ones are controlled with ip

from theiproute2 package

管理无线网络连接还需要安装一些软件包:

iw

只支持nl80211(netlink)标准, 不支持老的WEXT(Wireless EXTentions)标准, 如果iw没有显示网卡,可能是这个原因

wireless_tools

已经过时,但是依然广泛使用。 WEXT设备使用此工具

wpa_supplicant

提供WPA/WPA2加密支持,同时支持nl80211和WEXT

interface activation

在使用iw或者wireless_tools之前,有些网卡需要激活内核接口

$ ip link set wlp5s0 up

验证接口是否已经打开:

123$ ip link show wlp5s0 3: wlp5s0: mtu 1500

qdisc mq state UP mode DORMANT group default qlen 1000 link/ether

12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff

UP表示接口已经打开

iw usage

iw只能连接开放网络或者WEP网络.

示例中的wireless device interface是wlp5s0

your_essid 是要连接的热点ssid

获取接口名

12345678$ iw devphy#0 Interface wlp5s0 ifindex 3 wdev 0x1 addr

12:34:56:78:9a:bc type managed channel 6 (2437 MHz), width: 20 MHz, center1:

2437 MHz

iw commandDescription

iw dev wlp5s0 link获取连接状态

iw dev wlp5s0 scan扫描可用热点

iw dev wlp5s0 set type ibss设置操作模式为ad-hoc

iw dev wlp5s0 connect your_essid连接到开放网络

iw dev wlp5s0 connect your_essid 2432连接到开放网络的指定通道

iw dev wlp5s0 set power_save on启用省电模式

连接到WEP加密的网络

WEP的密码长度是固定的, key的格式如下:

123456[d:]index:data'd:' means default (transmit) key'index:' is a single

digit (0-3)'data' must be 5 or 13 ascii chars or 10 or 26 hex digitsfor

example: d:2:6162636465 is the same as d:2:abcde

查看连接状态

123456789101112$ iw dev wlp5s0 linkConnected to 7c:7d:3d:73:e6:03 (on wlp5s0)

SSID: MyESSID freq: 2437 RX: 1256767 bytes (11788 packets) TX: 4568 bytes (47

packets) signal: -8 dBm tx bitrate: 7.2 MBit/s MCS 0 short GI bss flags:

short-preamble short-slot-time dtim period: 2 beacon int: 100

获取统计数据

12345678910111213141516171819$ iw dev wlp5s0 station dumpStation

12:34:56:78:9a:bc (on wlp5s0) inactive time: 7813 ms rx bytes: 1456449 rx

packets: 13661 tx bytes: 4568 tx packets: 47 tx retries: 0 tx failed: 0 signal:

-10 dBm signal avg: -11 dBm tx bitrate: 7.2 MBit/s MCS 0 short GI rx bitrate:

1.0 MBit/s authorized: yes authenticated: yes preamble: long WMM/WME: yes MFP:

no TDLS peer: no

ip ubuntu如何修改master_ubuntu16.04 设置静态ip相关推荐

  1. Ubuntu20.04设置静态IP,安装Samba服务,实现win10远程访问文件夹

    道阻且长,行则将至.埋头苦干,不鸣则已,一鸣惊人!加油,骚年! 文章目录 1 参考资料 2 絮叨絮叨 3 Ubuntu20.04 设置静态 IP 3.1 基础环境 3.2 配置过程记录 3.2.1 配 ...

  2. ubuntu18.04 设置静态IP 能连网

    前言:我跟着好多个帖子修改静态ip,可修改后总是连网失败,最终我在参考了[ubuntu 16.04 设置静态IP - 简书] 这篇文章,终于配置成功,特将过程分享. 1.查询ubuntu的ip地址.子 ...

  3. linux设置不同地址,ubuntu20.04设置静态ip地址(包括不同版本)

    因为Ubuntu20.04通过netplan来管理网络,和之前得版本略有区别,Ubuntu18.04好像需要编辑/network/interfaces来设置静态网络 因为安装的是虚拟机,首先我将其改为 ...

  4. Ubuntu Desktop 18.04 设置静态IP方法(超详细)

    这里指的是Ubuntu Desktop 18.04上设置静态IP,Ubuntu Server 18.04上设置静态IP的方法请参考点击打开链接 我使用的是VMware 14 Pro .具体步骤如下: ...

  5. ubuntu16.04 设置静态ip

    ubuntu16.04 网卡命名 在给ubuntu的有线网卡或者无线网卡设置静态ip之前,首先我们需要了解有关网卡命名的知识. 在unbuntu16.04之后,ifconfig会发现网卡名eth0变成 ...

  6. ubuntu18.04设置静态ip地址(简单版)个人学习使用

    声明:我是个人电脑的学习及使用 前提:为了创建nacos集群,我创建了多台虚拟机,因为nacos集群需要配置各台服务器的ip,如果不设置静态ip,每次重启都会造成ip地址的改变,所以我需要设置一下静态 ...

  7. ubuntu16.04设置静态IP与DNS

    参考:https://blog.csdn.net/gerald_jones/article/details/80806884 0 背景 虽然网上相关设置的文章有很多,但尝试设置的时候总是不成功,因此将 ...

  8. ubuntu14.04设置静态IP

    啊,最近懒惰了,好久没有写博客了. 一般机器启动的时候会自动从DHCP服务器上面获取动态IP地址,这是一件很方便的事情,可以不用手动设置网络相关的蚕参数,但是有时候还是需要机器固定IP地址的. 第一步 ...

  9. Ubuntu 14.04 设置静态IP

    使用Network Manager UI界面中指定 手动时,无法保存. 通过修改配置文件解决来此问题.记录以下. 如果输入过密码后,就会出现在这个目录下面, 以如下chinaNet为例 gaojing ...

最新文章

  1. CTO让我研究中台(一):阿里的“数据+业务”双中台架构
  2. 刀片服务器在现有数据中心的应用策略
  3. java继承----类的复用
  4. c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
  5. 如何确定固定资产入账价值
  6. 实时数仓Hologres首次走进阿里淘特双11
  7. css3中transform属性及用法
  8. Eureka获取注册信息
  9. 工程经济作业1答案_2015年一级建造师铁路工程真题及答案1
  10. HTTP接口测试工具Postman
  11. Binder框架在Framework层的C++中的使用
  12. 【MySQL必知必会】第十章 创建计算字段
  13. [转帖]浪潮openstack的逆袭
  14. Ubuntu下非常给力的下载工具
  15. 语音转文字,msg版,pyttsx3库
  16. java文件输入流FileInputStream
  17. 计算机网络微课堂 学习笔记
  18. 服务器美国视频网站吗,美国服务器可以做视频网站吗
  19. 当Sklearn遇上Plotly,机器学习变得如此简单、易于理解
  20. 四月第四周——人物模型

热门文章

  1. 视频教程-javascript原生初级到非凡-JavaScript
  2. 如何测试端口是否已通
  3. 在Windows 10/11上使用SSH远程登录到Linux服务器
  4. Interbase默认用户名和密码。
  5. Glide作为图片缓存,清除缓存的合理方法
  6. 移动端ios使用fixed定位,偶现元素不显示问题(百度浏览器)
  7. 万能的公告栏轮播 View,也可用于商品个性垂直轮播展示
  8. Ubuntu下minicom的安装与使用
  9. 1.1弹跳小球||大一C语言实现
  10. Android数据库—SQLite