魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

ubuntu不能上外网



原来装的是9.04版本的,不知道改了那里,不能上网,新的9.10也出来了,所以就格式化系统重新装了9.10(没有格式化HOME,我把此分区独立开的),装好后,很多设置都保存了,结果还是不能上网。可以连内网,外网就上不了。但在windows下面是可以的。不是用动态的IP,是指定的IP。
输入ifconfig,显示如下图:
我的/etc/network/interfaces文件如下:
原来默认是这样的:
auto lo
iface lo inet loopback
上网查了一下更改成下面这样,但还是不行:
auto eth0
iface eth0 inet static
address 192.168.0.12
gateway 192.168.0.1
netmask 255.255.255.0
查了很多,这个interfaces也改了很多次了,
连内网是没问题的,但就是上不了外网,DNS设置(/etc/resolv.conf)的文件也看过了,是设好的(windows下面用那个DNS来上是没问题的)。
昨晚看到一个感觉写得不错的网友,他/她的方法如下:
“最好的方法当然是在安装前拔掉网线,这样安装时就可以设置好网络参数了,这是一劳永逸的做法。如果没断网安装,结果不能上网,照下面操作。
使用路由器或在局域网中,不能上网的解决方法(leafpad可用gedit或kate或vi/vim代替):
1. 删除 Network Manager(网络工具) ,你用”添加/删除”删除它,也可以用”新立得”,或是用命令来删除,反正不管你用什么方法,首先把它干掉再说。
--sudo aptitude purge network-manager
--sudo aptitude purge network-manager-gnome
2. 配置网络接口,这个时候就要运用命令了,关键时刻,命令值得信赖--打开终端执行下述命令:
sudo leafpad /etc/network/interfaces
#在弹出的文本中设置网卡接口,填入给eth0分配静态的IP的代码,如下面的范例:
auto eth0 #开机首先自动激活网卡。
#iface eth1 inet dhcp (如果有这一行代码,在前面加"#",把它注释掉,没有当然不用理会了。但可以留,不必删除)
iface eth0 inet static
address 192.168.1.123 #这个IP地址,根据你自己的情况填,我写的供参考,不要与网内别人的地址冲突。你是TPlink,填192.168.1.168
netmask 255.255.255.0 子网掩码,不是我写的这个,问网管要或填路由器的。你是TPlink,就是这个,不用改了。
gateway 192.168.1.1 #网关,可能不是这个,问网管要或填路由器。你是TPlink,填192.168.1.1
3. 配置 DNS(局域网上网和ADSL上网的设置有点不同)。打开终端执行下命令(没有leafpad用gedit代替):
sudo leafpad /etc/resolv.conf #在弹出的文本中填入DNS名称服务器地址。
nameserver 222.30.45.1 #这里填入你所在地方的 DNS 服务器的地址,直接填你在路由器中看到的202.96.64.68。
nameserver 222.30.45.1 #这里填入你所在地方的备用 DNS 服务器的地址,直接填你在路由器中看到的211.98.4.1。
通过家里的SOHO路由器上网的话,这里可以填路由器的 IP,也可直接本地ISP名称服务器的地址,路由器中可以看到。
4. 重启。”
也按这个方法试了一下,还是不能上。

http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=240718








ubuntu 网卡指定 eth0及其它

对于network-manager,可以彻底卸载之


代码:
sudo apt-get remove network-manager --purge



注意:删除network-manager后,nm-applet就没有了,可改用面板上的网络监视器,在面板上点右键添加即可。

下面提到的更改生效,都要用到重启网络服务命令,当然重启电脑也是ok的,

代码:
sudo /etc/init.d/networking restart



有时候虽只有一个网络接口,但网络连接(logical name:)是eth1 或为eth2甚至为eth更大的数字,这点也很讨厌,影响一些程序的默认使用

解决:
1:

代码:
sudo lshw -C network


或者


代码:
ifconfig -a


得到网卡的mac地址(serial),注意不要和1394的serial搞混

比如我的是:00:88:88:ff:12:61


2
备份

代码:
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak




3
接着编辑:

代码:
gksu gedit /etc/udev/rules.d/70-persistent-net.rules


删除里面的所有内容,如果内容为空当然不用删除
再加入下面的内容,注意颜色部分要和你个人情况和期望一致,mac不能填错,一定要写真实的物理mac,直接抄我的无效:

引用:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:88:88:ff:12:61", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"



最后重启网络服务,面板上的网络监视器如果此前启用,删了再添加一次


补充应用:
可以在多个网卡时,用户指定网卡logical name:



接着可以配制网卡了

手工编辑配制文件:

代码:
sudo gedit /etc/network/interfaces



引用:
auto lo
auto eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.0.8
netmask 255.255.255.0
gateway 192.168.0.254
broadcast 192.168.0.255
mtu 1300
#wireless-key 3311220088
#wireless-essid ubuntu





上面为静态ip的设定,对应内容分别是ip地址,子网掩码,网关,广播地址,mtu值,最后为无线网卡相关的key 和ssid,需要可以打开

如果是dhcp,则可写为:


代码:
auto lo
auto eth0
iface lo inet loopback
iface eth0 inet dhcp
#wireless-key 3311220088
#wireless-essid ubuntu






再进行dns的修改:


代码:
gedit /etc/resolv.conf


内容格式如下:

代码:
nameserver 208.67.220.220
nameserver 208.67.222.222



完成以上设定后,基本上网络就可以用了,如果在上面设定的基础上更改mac地址,比如我要把上面提到的物理地址00:88:88:ff:12:61改为:00:88:88:ff:12:68

则在/etc/rc.local下加入以下代码(注意在exit 0之前)


代码:

sudo ifdown eth0

sudo ifconfig eth0 hw ether 00:88:88:ff:12:68
sudo ifup eth0



接着,如果还想在上面的基础上给一个网卡指定多个ip地址,则可以:


代码:
sudo gedit /etc/sysconfig/network-scripts/ifcfg-eth0:0

内容如下:

代码:
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.88
NETMASK=255.255.255.0


或者:


代码:
sudo ifconfig eth0:0 192.168.1.88 netmask 255.255.255.0 up



另外,手工加路由方法:(颜色部分可以按需修改)

引用:
route add -host 202.100.69.8 dev eth0
route add default gw 202.100.69.8


ubuntu网卡设定,大概就是这些,有空再补充。




补充说明, ubuntu 的networkmanager还是不错的, 如果要使用之,下面两个文件很重要::


使用networkmanager时, ubuntu 默认的/etc/resolv.conf格式:



代码:
# Generated by NetworkManager
domain domain
search domain
nameserver 208.67.220.220
nameserver 208.67.222.222


使用networkmanager时, ubuntu 默认的 /etc/network/interfaces



代码:
auto lo
iface lo inet loopback




如果你用networkmanger ,那就要一直用networkmanger , 配制网卡或拨号都要坚持用networkmanger,不要按教程去碰什么命令,你要碰命令,没搞清楚哪是哪之前,最好把networkmanger 删除后


代码:
sudo apt-get remove network-manager --purge


再去碰命令。

命令行的和networkmanger混着用不太好,用命令的,配制文件虽然和networkmanger 部分共用,但格式有所不同

比方说resolv.conf ,networkmanger的配制文件格式就不同,但两者却共用这个配制文件

如果你发现因为你用了命令, networkmanger工作不正常,那就要恢复 resolv.conf interfaces 这两个文件,

很多人说networkmanger 不好用,最有可能的原因就是命令和图形两者混用造成的。



cnkilior 写道:
把你以前设置过的内容全部删掉,windows直接插网线能用ubuntu也一样。多余的设置反而不能上网了。

--根据你的描述,以下内容需要删除----
1、/etc/ppp/dsl-provider
2、/etc/network/interfaces中除了关于lo的段落外的。
3、/etc/rc5.d/中pppoe启动的脚本。

另外:如果你看了其他教程说要删除Network-Manager和nm-applet的把他们安装回来。

这样就可以了。

----
务必记住:windows不用设置就能直接上网,linux也能。



引用:
NetworkManager和networking有冲突,如果启用了NetworkManager就不能再用networking管理网络了,如果用Networking管理网络,就不能用networkmanager,所以解决方法有两种:
1用networkmanager管理网络:
编辑/etc/network/interfaces,将其中的所有网络的设置全部注释掉(就是在行前面打上#),仅留下lo(本地回环)的设置。然后重启NetworkManager和networking.
2用networking管理网络(就是命令行方式)
可以将networkmanager禁止,在终端里输入sudo apt-get remove network-manager --purge就可以了
或者sudo gedit /etc/NetworkManager/nm-system-settings.conf 将managed=true改为false


















返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1