问题描述
我正试图让我的IP地址保持静态,因为我听到它修复了缓慢的浏览问题。
当我点击灰色任务栏的网络菜单下的连接信息时,它会告诉我IP地址,子网掩码和DNS,但没有关于网关的信息。
我想知道是否有终端命令来查找信息。
最佳解决方法
我有这个命令作为”ipconfig”的别名(最多14.04):
nmcli dev list iface eth0 | grep IP4
示例列表是:
IP4-SETTINGS.ADDRESS: 192.168.1.110
IP4-SETTINGS.PREFIX: 24 (255.255.255.0)
IP4-SETTINGS.GATEWAY: 192.168.1.1
IP4-DNS1.DNS: 208.67.222.222
IP4-DNS2.DNS: 208.67.220.220
如果eth0
不起作用,您可能需要使用eth1
,eth2
……,具体取决于您的配置。
编辑:2/8/16
请注意,这仅适用于v15.04之前的版本(或者可能在v14.10之前;我有v14.04)。对于较新的版本,您可以使用:
nmcli dev show eth0
次佳解决方法
您可以使用ifconfig
,它将显示您的inet地址(IP)和掩码。
对于网关,发出ip route
命令并记下默认路由。
希望这可以帮到你。
第三种解决方法
This website解释了如何通过网络掩码和计算机的IP地址计算network
和broadcast
地址。为简化该文章:network
是网络掩码遗留的IP地址范围内的最低可能地址。 broadcast
是该范围内编号最高的IP地址。 “网络掩码遗留的IP地址范围”称为本地网络。
“The network”通常意味着您以上的所有人,包括互联网。要访问”the network”,使用network
地址。实际上,大多数人都使用可以互相通信的以太网电缆来调用”the network”。
示例:您的ISP为您提供输入无线路由器的信息:99.1.81.209
的静态IP地址,您的网络掩码为255.255.255.224
。现在您想要设置一个ubuntu防火墙并需要设置您的公共接口:
Calculate network IP address:
255.255.255.224 -> last octet = E0
99. 1. 81.209 -> last octet = D1
Logical AND the mask and your ip:
E0 & D1 = C0 = 192
--> network = 99.1.81.192
Calculate broadcast address:
255.255.255.224 : E0 -> there are 1F = 31,
-> broadcast = 99.1.81.192 + .31 = 99.1.81.223
另一种方法…
Calculate broadcast address:
255.255.255.224 -> last octet = E0
99. 1. 81.209 -> last octet = D1
Hosts' IPs = 1F
Logical OR the hosts ips with your ip:
1F | D6 = DF = 223
--> broadcast = 99.1.81.223
通常,您会看到用/描述的网络。这是这个网络:
255.255.255.224 is the netmask, add up the "1" bits:
8 + 8 + 8 + 3 = 27
so "this network" gets /27 notation
and can be described as 99.1.81.192/27
第四种方法
在15.04之前的版本中,曾经存在nm-tool
实用程序。
来自man nm-tool
:
NAME
nm-tool - utility to report NetworkManager state and devices
SYNOPSIS
nm-tool
DESCRIPTION
The nm-tool utility provides information about NetworkManager, device, and wireless networks.
这个小实用程序可以很好地与网络管理器连接,并生成一个报告,其中包含每行的相应信息,这对于使用文本处理实用程序进行解析非常简单。样本输出:
$ nm-tool | sed -ne '/^ *IPv4/,/^$/p'
IPv4 Settings:
Address: 192.168.42.178
Prefix: 24 (255.255.255.0)
Gateway: 192.168.42.129
关于相关问题的Rinzwind’s answer引用了针对Network Manager软件包的changelog,它解释了它已经被上游删除并被nmcli
取代。然而,应该注意的是,15.04之前和之后的nmcli
与几个命令行论点不同。这是上面的替代方案:
$ nmcli dev show | grep 'IP4\.ADDRESS\|IP4.GATEWAY'
IP4.ADDRESS[1]: 192.168.0.101/24
IP4.GATEWAY: 192.168.0.1
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
使用nmcli
根据每个接口显示信息,即一个接口有一组行,然后用空行分隔另一组行等等。
可以使用的另一种替代方案是ip
命令,这对于ifconfig
来说是优选的。根据pilona’s和Gilles’s对Difference between ‘ifconfig’ and ‘ip’ commands的回答,Linux内核和网络功能已向前发展,但ifconfig
及其所属的软件包在很长一段时间内都没有发展,这就是我们拥有ip
实用程序的原因。要获取特定接口的寻址信息,可以使用ip -o -4 addr
,ip route
可用于获取路由/网关信息。
第五种方法
nm-tool
也将完成这项工作。
$ nm-tool
NetworkManager Tool
State: connected (global)
....
IPv4 Settings:
Address: 192.168.1.110
Prefix: 24 (255.255.255.0)
Gateway: 192.168.1.1
DNS: 208.67.222.222
DNS: 208.67.220.220