1.13 技巧13给Pi分配静态IP地址
树莓派实战秘籍
如果你希望每次都能够通过同一个IP地址连接到Pi,而不是临时去查看它,那么你需要为它分配一个静态IP地址。
许多ISP使用动态IP寻址,这意味着你每次连接到互联网时都会得到一个不同的IP地址。如果你要定期通过SSH连接到Pi(参见技巧12),以使用VoIP(参见技巧32)或者因为其他原因需要每次都要有相同的IP地址,你可以设置一个静态的IP地址。
在Pidora中,如果你运行的是headless模式,那么你可以按照技巧11的说明来做。如果不是headless模式,那么可以编辑/etc/sysconfig/network-scripts下的文件。
如果你通常是Debian的用户,则需要编辑的类似文件是/etc/network/interfaces。
你将会看到以ifcfg-<接口名>方式列出的可用的网络接口配置列表。选择你要使用的连接并用你常用的编辑器编辑,例如:
你将会看到如下的内容:
你需要将BOTPROTO行从dhcp修改为static,另外还需要保证ONBOOT设置为yes。然后添加IPADDR、NETMASK、BROADCAST,以及NETWORK等的信息,就像在headless文件中一样,切记不要选择一个已经在你的网络中使用的IP地址。NETMASK总是设为255.255.255.0,GATEWAY设置为你的路由器的IP地址:
最后,重启网络服务以应用你的新设置:
如果你使用的是基于Raspbian的发行版,你将会遵循类似的步骤,只有一点有所不同,你不用查找单个文件,而是打开/etc/network/interfaces文件(以root身份):
然后查找这一行:
将dhcp更改为static,并添加静态IP地址、网关、广播和子网掩码:
如果收集这些信息需要一些帮助,你可以通过运行ifconfig并分别注意inet addr、mask,以及bcast等关键字获取当前的IP地址、子网掩码以及广播地址,运行route -n获得网关及其调用的目的地网络(同样,在新的Fedora和Pidora版本中,使用ip addr替代ifconfig命令)。
选择一个唯一的静态IP地址
你务必要选择一个没有被任何其他在你的网络中的设备使用的IP地址,否则,你的网络连接将无法正常工作。当使用dhcp时,禁止使用相同的IP地址,而设置静态IP的时候也有可能不小心产生同样的IP地址。
此外,在设置静态IP地址时你需要手工指定一个DNS服务器。DHCP配置通常会为你配置一个DNS服务器,但对于静态IP配置来说,没有办法知道DNS服务器是什么。要设置DNS服务器,需要编辑/etc/resolv.conf文件(以root身份),并增加如下行:
用你的DNS服务器的IP地址替换上面的11.23.58.13。如果你有多个DNS服务器,你可以在这个文件中有多个name server$IP行。
保存更改后,重新启动网络以使新设置生效:
现在你拥有了一个静态IP地址,每次访问互联网的时候不会再发生IP更改了。