欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu16.04 设置动态ip和静态ip及route命令的使用

程序员文章站 2022-06-04 08:47:36
...

ubuntu16.04 网卡命名

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

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

1.网卡命名的规则

在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<number>                             — BCMA bus core number
 *   c<bus_id>                             — CCW bus group name, without leading zeros [s390]
 *   o<index>[d<dev_port>]                 — on-board device index number
 *   s<slot>[f<function>][d<dev_port>]     — hotplug slot index number
 *   x<MAC>                                — MAC address
 *   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
 *                                         — PCI geographical location
 *   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
 *                                         — USB port number chain
 */

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

en代表以太网卡

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

使用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 

这三个网卡分别代表了有线网卡、本地环回和无线网卡。

2. 给网卡设置动态ip

以下以给有线网卡enp2s0设置动态ip为例:
打开一个终端,在超级用户下使用如下命令:

sudo vim /etc/network/interfaces

编辑添加:

auto enp2s0
iface enp2s0 inet dhcp

3. 给网卡设置静态ip

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

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

sudo 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 223.5.5.5这句一定需要有,

因为以前是DHCP解析,所以会自动分配DNS 服务器地址。

而一旦设置为静态IP后就没有自动获取到DNS服务器了,需要自己设置一个

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

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

(或者nameserver 8.8.8.8)可以根据访问速度,选择合适的公共DNS

3.重启网络:sudo /etc/init.d/networking restart, 如果失败,可以采用关机重启的方式,重启后,就会生效。

4.route命令的使用

Linux系统的route命令用于显示和操作IP路由表, 要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

4.1 route -n

#-n 表示不解析名字,列出速度会比route 快
#destination:目的地,终点,就是我们要去访问的目的IP
ubuntu16.04 设置动态ip和静态ip及route命令的使用

第一行的意思就是去往所有目标地址数据包由网关10.12.236.1 通过网卡ens33来转发;

#0.0.0.0代表的是匹配所有目标地址

实际上前两条是自动生成的,因为是直连的网段,在每块网卡上每配置一个IP就会生成一条记录(一个网卡上可以配置多个IP)。表示去往这两个网段的数据包,直接由网卡接口ens33发送出去。

4.2 手动添加默认网关
sudo route add default gw 192.168.1.1

再route -n ,就可以看到刚添加的网关,下次重启后,可能又要重新添加

4.3 手动添加特定路由网关
route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1

route命令说明

route命令用来显示或修改ip的路由表。
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等 

参考文献:

  1. ubuntu16.04 设置静态ip
相关标签: 网络通信 linux