默认情况下,Ubuntu使用DHCP和Gnome NetworkManger来配置接口。在许多情况下,这并非最佳选择。
如何为适用于所有用户的静态IP地址配置台式机?
其他背景:对于99.9%的用户,静态DHCP条目可能是最简单的解决方案,但是我发现与mythtv-background
进程冲突以及对eth0接口的任何更改。如果在运行mythtv之后打开/关闭该接口,则它将挂起进程(这也使系统挂起)。因此,我的问题确实需要一个静态 IP地址,该接口使用已知IP进行连接,并永久保持不变。
默认情况下,Ubuntu使用DHCP和Gnome NetworkManger来配置接口。在许多情况下,这并非最佳选择。
如何为适用于所有用户的静态IP地址配置台式机?
其他背景:对于99.9%的用户,静态DHCP条目可能是最简单的解决方案,但是我发现与mythtv-background
进程冲突以及对eth0接口的任何更改。如果在运行mythtv之后打开/关闭该接口,则它将挂起进程(这也使系统挂起)。因此,我的问题确实需要一个静态 IP地址,该接口使用已知IP进行连接,并永久保持不变。
Answers:
右键单击nm,选择“ 编辑连接...”,找到您的界面,单击“ 编辑...”,单击“ IPv4设置”,选择“ 手动”并配置您的界面。
一种替代方法是编辑/ etc / network / interfaces。配置示例为:
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
然后跑
/etc/init.d/networking restart
请记住,这将为此界面禁用nm,并且您将必须删除(或取消注释)条目才能再次激活nm。
编辑(请参阅Casey的文章):编辑/ etc / network / interfaces之后,还必须设置DNS:
在/etc/resolv.conf中设置一个或多个所需的名称服务器:
域名服务器192.168.1.1
eth0
在sBlatt的示例中)在您的PC上可能有所不同:eth0
是第一个有线以太网接口的常用名称;无线接口的命名没有标准。该命令ip link show
将显示网络接口列表及其相关参数。
更新/etc/networking/interfaces
以设置静态地址:
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
在中设置一个或多个所需的名称服务器/etc/resolv.conf
:
nameserver 192.168.0.1
您必须防止gnome-network-manager尝试劫持eth0
连接:
sudo apt-get remove network-manager network-manager-gnome
通过重新启动网络子系统来分配静态IP地址:
sudo invoke-rc.d networking restart
ifup
/ifdown
/etc/networking/interfaces
应该/etc/network/interfaces
吗?
如果您登录了一个小路由器(例如浏览器中的http://192.168.1.1),请记录当前的DNS服务器地址。从DHCP保留另一个IP地址(例如192.168.1.200-192.168.1.210),或者一起禁用DHCP。
从Ubuntu菜单中:系统->首选项->网络连接->自动eth0->编辑-> IPV4设置->将其更改为手动->添加IP(类似于192.168.1.200您保留的内容上面的命令),网络掩码255.255.255.0和默认路由的路由器内部地址(类似于192.168.1.1用来登录的地址)->输入您在窗口底部记录的DNS服务器地址。
1)检查应该配置哪个接口,eth0
在这种情况下,假设您要更改的接口是:
$ ip addr
2)打开并编辑/etc/network/interface
:
$ sudo gedit /etc/network/interface
3)在文件中添加以下行/etc/network/interface
:
auto eth0
iface eth0 inet static
address 192.168.1.22
netmask 255.255.255.0
gateway 192.168.1.1
3)重新启动与命令你的界面ifdown
和ifup
:
$ sudo ifdown --force eth0
$ sudo ifup --force eth0
PS:使用$ sudo systemctl restart networking
或$ sudo ifup eth0
在使用其他网络工具时可能无法正常工作,请同时检查eth0是否不能正常运行(主界面)