无法在Ubuntu上设置静态IP
我最近安装了Ubuntu Desktop 13.10,我试图通过更改/etc/network/interfaces
文件来设置静态IP:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface eth0 inet dynamic
至:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface eth0 inet static address 192.168.1.70 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
使用我从这些FAQ / Tutorial Sites收集的任何内容
- Ubuntu网络配置
- 在ubuntu 12.04 lts服务器中使用静态IP的问题
- Linux基础知识 – 在Ubuntu上设置静态IP
- Howto:Ubuntu Linux将DHCP网络配置转换为静态IP配置
我仔细检查了这些数字,它们与我在办公室的2台不同计算机上使用的值相同(注意:那两台计算机,raspis,连接到网络交换机然后连接到路由器,而当前有问题的桌面直接连接到路由器)。 但是,当我启用静态地址并重新启动时,机器不会获取我请求的IP地址( 192.168.1.70
),而是获取另一个( 完全禁用NIC。 我还尝试过请求一个不同的IP地址( 192.168.1.111
)192.168.1.199
),以防旧的地址被占用,但这也导致NIC被禁用。
我在这里问这个问题,因为google / SO似乎没有特别关于用户应该做什么的答案,以及如何简单地“搜索问题”并快速更新单个文件不会导致静态地址。 我具体要求以下内容:
- 答案为什么这可能不起作用(即这是否与Ubuntu 13.10相关)。
- 如何在引导期间调试网络初始化。
- 如何最终设置静态IP地址。
编辑:
根据Atari的要求,我尝试使用GUI而不是命令行设置IP。 为此,我必须首先清除/etc/network/interfaces
文件(通过注释静态相关行),重新启动,然后再次尝试。 如果我不这样做,我甚至无法访问我的NIC的选项。 这确实为我的计算机分配了静态IP,但是,现在我只能通过本地访问(通过ssh
),完全无法访问互联网。
您缺少将导致配置在启动时运行的行。
编辑/etc/network/interfaces
配置并添加以下行:
auto eth0
同时,您可以使用以下命令设置静态地址:
sudo ifup eth0
您希望只有在连接到特定网络时才能启动界面,请查看ifupdown
软件包的文档和示例。 特别是,查看mapping
命令。 ping-places.sh
命令可用于识别您所在的网络。
我会尝试使用GUI来设置静态IP。 如果可行,那么您就知道您正在使用NetworkManager
程序包来控制该NIC的IP。 如果在手动配置中提到它,则包应该为接口禁用自身(根据: https : //wiki.debian.org/NetworkManager )但是这似乎没有发生。
您也可以使用…完全删除NetworkManager
sudo apt-get install network-manager-gnome
sudo apt-get remove network-manager
…然后尝试手动更改它。
我似乎有点迟了,但仍然如此:因为我认为12.04如果你想投入很少的工作并通过旧的/ etc / network /接口完成工作,你就会被搞砸了。
但是有希望! :d
只需使用/ etc / NetworkManager / system-connections / CONNECTIONS即可
如果你采用通过以太网连接的标准系统,文件通常如下所示:
filename:有线连接1
内容:
[802-3-ethernet] duplex=full mac-address=xx:xx:xx:xx:xx:xx
[连接]
id=Wired connection 1 uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx type=802-3-ethernet timespamp = xxxxxxxxxx
[IPv6的]
method=auto
[IPv4的]
method=manual dns=192.168.0.1 address=192.168.0.123/24,192.168.0.1
我发现这很容易在您的路由器上完成。 我不知道您可能拥有哪种类型的路由器,但应该有一个选项,您可以将MAC地址映射到LAN上的特定IP地址。 这是我的设置……
你快到了。 ssh工作,固定的IP是可以的。 现在唯一缺少的当然是dns。 这就是你无法上网的原因。 您的网关是192.168.1.1,这可能是路由器。 其中许多提供dns,所以只需尝试192.168.1.1作为名称服务器
需要auto eth0
, auto eth0
,一旦你有代码完全重新启动,将发生更改。
ifconfig eth0 up
/ down
不进行更改。
当你使用ifdown
和ifup
使用-v
选项打印任何错误后,你应该按Ctrl + Alt + T (打开一个终端)杀死dhcp deamond
并输入: sudo killall dhcp
并输入你的密码。