【OS】Linux环境下配置固定IP地址--静态IP地址(不能上外网问题)
---red hat重启网卡
service network restart
/etc/rc.d/init.d/network restart
---suse重启网卡
service network restart
rcnetwork restart
/etc/rc.d/init.d/network restart
----卸载网卡
ifconfig eth0 down
--- 单独重启网卡
ifdown eth0 && ifup eth0
ifconfig eth0 down && ifconfig eth0 up
----------------------------------------------- 固定IP 配置静态ip地址
ifconfig eth1 192.168.210.108 broadcast 192.168.210.254 netmask 255.255.255.0
ifconfig eth1 192.168.59.130 broadcast 192.168.59.1 netmask 255.255.255.0
ifconfig eth0 192.168.59.130 netmask 255.255.255.0 gw 192.168.129.1
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start
---若还有问题,可删掉网卡重新添加
vi /etc/udev/rules.d/70-persistent-net.rules
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.59.150
NETMASK=255.255.255.0
GATEWAY=192.168.59.2
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
TYPE=Ethernet
IPV6INIT=no
#HWADDR=00:50:56:26:CD:D4
DNS1=8.8.8.8
DNS2=114.114.114.114
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
IPADDR=192.168.2.150
NETMASK=255.255.255.0
#GATEWAY=192.168.2.1
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
TYPE=Ethernet
IPV6INIT=no
#HWADDR=00:50:56:26:CD:D4
----------------- 动态ip地址
DEVICE=eth0
ONBOOT=yes
USERCTL=no
BOOTPROTO=dhcp
HWADDR=00:0c:29:97:f1:5b
TYPE=Ethernet
PEERDNS=yes
IPV6INIT=no
[root@rhel6 ~]# export LANG=C
[root@rhel6 ~]# setup
[root@rhel6 ~]#
DEVICE=eth0 #物理设备名
IPADDR=192.168.1.10 #IP地址
NETMASK=255.255.255.0 #设置子网掩码
NETWORK=192.168.1.0 #网络地址(可不要)
BROADCAST=192.168.1.255 #广播地址(可不要)
GATEWAY=192.168.1.1 #网关地址,虚拟机环境下的网关一般为x.x.x.2,否则不能正常连接外网
ONBOOT=yes # [yes|no](引导时是否激活设备)
USERCTL=no #[yes|no](非root用户是否可以控制该设备)
BOOTPROTO=static #[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
HWADDR=00:0C:29:C6:A1:AB #mac地址
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
1:在终端中输入:cd /etc/sysconfig/network-scripts/
2: 看看是否有这个文件:ifcfg-eth0,如果有然后输入编辑,vi ifcfg-eth0:
3:开始编辑,填写ip地址、子网掩码、网关、DNS等。其中“下面这些是必须有的”
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=198.1.102.140
NETMASK=255.255.224.0
GATEWAY=198.1.96.1
其中:eth0 对应的文件名:ifcfg-eth0
如果需要配置多个IP,则需要多个文件,每个文件对应着一个IP,文件名分别为:ifcfg-eth0_X,
而文件中DEVICE=eth0:X ,其中X可以从1开始自增。比如文件:ifcfg-eth0_1对应DEVICE=eth0:1
而除了IPADDR需要变化之外,其他的NETMASK和GATEWAY都一样。
3:编辑完后,保存退出。
4:重启网络服务。service network restart或/etc/init.d/network restart
5: ping网关,ping外网进行测试。都能ping通表示网络正常。
例如:ping www.baidu.com
在新安装的Linux系统命令行下,
敲入:ifconfig,显示如下界面。
上面这张图显示网卡没有启动,那么我们敲入代码:ifup eth0启动网卡。
网卡启动后,我们可以看出,IP地址和网关等其他信息都已经出现。
但是我们需要的是静态IP,即不随着时间改变而改变的IP地址。
首先我们要知道我们的网关地址是多少。
敲入代码:route ,下图中的192.168.164.2就是我们的默认网管地址,记住这个,下面的配置需要用这个。
继续敲入代码:vi /etc/sysconfig/network-scripts/ifcfg-eth0 (cat /etc/sysconfig/network-scripts/ifcfg-eth0 这条命令是查看)
进入到网卡配置文件中。
DEVICE=eth0(默认)
HWADDR=00:0C:29:2E:36:16(默认)
TYPE=Ethernet(默认)
UUID=XXXXXXX(默认)
ONBOOT=yes(默认为no,修改为yes意为每次reboot后 ifup eth0)
MM_CONTROLLED=yes(默认) #BOOTPROTO=dhcp(dhcp为自动分配ip地址,我们把他注释了,在下面另外加)
BOOTPROTO=static(新添加)
IPV6INIT=no(新添加)
USERCTL=no(新添加)
IPADDR=192.168.164.100(新添加)
NETMASK=255.255.255.0(新添加)
上面黄色背景色部分为默认配置,红色背景色为后来添加配置。
配置完成后,敲入代码:service network restart重启网卡服务
这时候尝试ping www.baidu.com发现报错Network is unreachable
各种搜索原因后发现,网关没有配置,导致与外网连接没有打开。
然后我们敲入 route add default gw 192.168.164.2
然后再次ping www.baidu.com
ping通后说明我们的配置已经生效。
linux关于connect: network is unreachable 问题的解决
解决方法:
在确保完善网卡驱动,以及确保将网卡驱动编译进内核后,检查
ls /etc/sysconfig/network-script/ifcfg-eth0
一、看是否在上述目录下存在ifcfg-eth0 这个文件,若存在则按下面的步骤操作:
1.手工配置ip看能不能配置上
ifconfig eth0 172.18.128.143 netmask 255.255.255.0 broadcast 172.18.128.255
route add default gw 172.18.128.1(同一网段可以不要)
或
直接编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0
2.service network restart
二、若不存在ifcfg-eth0 这个文件甚至在/etc/sysconfig 目录下不存在network-script目录,那么就需要你来建立这个目录,并创建ifcfg-eth0
ifcfg-eth0 文件内容如下:
只需要按实际情况修改 DEVICE HWADDR NETMASK IPADDR 这几项即可。
然后service network restart
再ping 下试试 是不是通了呢。
如果你ping的是广域网而不是局域网,那你还要确保网关和DNS设置正确
你可以按下面的步骤来设置网关
这条命令就可以搞定
route add default gw 192.168.1.1
后面那是你的网关。
现在 route 一下
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default my.router 0.0.0.0 UG 0 0 0 eth0
之前如果没有添加 的话, 只有上面的第一条。 第二条是新加进去的。
如果还访问不了, 哪你的情况可能有点特殊哦。
这样重启以后 就不能 用了。
修改
编辑 /etc/network/interfaces
添加 gateway 192.168.1.1
DNS记录在/etc下的resolv.conf这个文件里。可以按resolv.conf文件的格式修改DNS。如果没有resolv.conf就建一个。
然后service network restart
ping 下试试。
问题描述
弄了三台机器准备搭建一个集群,按照centos7系统,一台主节点安装桌面环境,两台计算节点。配置计算节点的时候,发现ping不通,出现connect:network is unreachable问题。
问题分析
/etc/sysconfig/network-scripts/中只有ifcfg-lo文件,缺少ifcfg-eth0。
解决方案
方案一(临时)
使用命令ifconfig eth0 192.168.1.x可以正常设置eth0的IP,该方法仅为临时处理办法,系统重启后即失效了。
方案二(永久)
第一步:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步,编辑:
DEVICE=eth0 # 物理设备名称
IPADDR=192.168.1.x #IP地址,需要设置
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.1.1 # 网关地址
ONBOOT=yes #激活设备
USERCTL=no #非ROOT用户不可以控制该设备
BOOTPROTO=[none|static|bootp|dhcp]
#引导时不使用协议|静态分配|BOOTP协议|dhcp协议,这里我选用的是静态分配,static。
HWADDR=00:13:D3:27:9F:80 #MAC地址,通过ifconfig或者ip a获得
NAME=eth0 #名称
第三步在文件/etc/rc.d/rc.local最后加入ifup eth0(/etc/rc.local脚本是在所有其它初始化脚本执行完毕后执行)。
第四步,reboot,重启电脑.
转自:http://www.centoscn.com/CentosBug/osbug/2014/0424/2860.html
现象:
ping内网正常
ping外网IP,域名均无法正常,返回错误:connect: Network is unreachable
后面在无意中看到Linux网络配置有添加网关的命令:
route add default gw 192.168.128.2 dev eth0
按上面操作,添加了默认的网关之后。再次访问外网一切正常。
有这个现象来看,应该是配置文件中没有配置网关,但是经过确认/etc/sysconfig/network 中是配置了GATEWAY地址的,而且GATEWAY的地址也是正确的,在多次重启network之后,只要不手动添加网关,就不能访问外网。
多次仔细确认各个网络配置文件之后,发现在网卡配置文件中(ifcfg-eth0)有一个NETWORK配置项,对于这个配置项,本身作用不是很清楚,因此到官网查看了一下说明:
NETWORK=<address>
where <address> is the network address. This directive is deprecated, as the value is calculated automatically with ifcalc.
这节奏是告诉我们这个参数不要设置嘛(deprecate),这个值将会由ifcalc自动计算。既然不用设置,自然去掉。
去掉之后,重启network服务之后,外网竟然神奇的能够访问了。使用route查看路由表,发现能够自动添加default这条信息了,原来可是一直没有的:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.128.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 192.168.128.2 0.0.0.0 UG 0 0 0 eth0
看来问题正是这个NETWORK参数设置引起的。至于具体为什么会这样,这个设置会产生什么样的影响还不是很清楚。
TIPs:为了简单,你也可以将IPADDR,GATEWAY等设置到ifcfg-eth*的文件中,不用将GATEWAY单独设置在network中。
+++++++Centos中修改/etc/resolv.conf又恢复到原来的状态+++++++++
运行route命令时,如果遇到长时间运行,一直没有出现default那一行,可以检查eth0文件中的DNS是否配置错误。
机器系统为CentOS6,ip地址已经设好了。使用setup更改了一下外地公网的dns,保存退出。重启service network restart后发现不能解析了。用ip地址可以连,但是不能ping www.sina.com.cn
总是这样,设置一次可以,过一会或者重启一下服务器,重启一下network都不能解析了。发现/etc/resolv.conf又恢复到原来的状态,里面什么都没有了。手动加入nameserver也不行。
后来到网上查找,发现有人与我同样的问题。原来在CentOS5.4下面直接修改/etc/resolv.conf不行。必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。要不然,重启后,肯定使用eth0设置中没有设 dns的相关信息,使/etc/resolv.conf恢复到原来的状态。
打开/etc/sysconfig/network-scripts/ifcfg-eth0,为了保险起见,可以同样修改eth1的设置
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:xx:19:xx:xx:xx
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
DNS1=202.96.209.5
DNS2=202.96.209.133 这样设置后,/etc/resolv.conf里面根本就不需要设置。service network restart 后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat /etc/resolv.conf,可以看到如下参数:
# Generated by NetworkManager
nameserver 202.96.209.5
nameserver 202.96.209.133
search localdomain
DNS解析设置成功。
在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重 新变成空值。
不过对于其他的CentOS系统是否也是这样的,要是遇到同样的问题。就这样设一下试试
"ping: unknown host www.baidu.com"
解决方案:
如果某台Linux服务器ping不通域名, 如下提示:
[root@localhost ~]# ping www.baidu.com
ping: unknown host www.baidu.com
首先确定已经连接上路由器,并且路由器能够访问外网,可以通过访问网关进行确定
[root@localhost ~]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.96 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.75 ms
如果确定网络没问题的情况下, 可以通过如下步骤寻找解决办法:
1) 确定设置了域名服务器, 没有的话, 建议设置Google的公共DNS服务, 它应该不会出问题的
[root@localhost ~]# cat /etc/resolv.conf
search localdomain
因为我的DNS没有设置所以导致了ping外网ping不通。将dns添加到该文件中
[root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 202.98.96.68
nameserver 61.139.2.69
~
2) 确保网关已设置
# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
-------------------------------------------------------------------
/etc/sysconfig/network-scripts/ifcfg-eth0:GATEWAY=192.168.40.1
-------------------------------------------------------------------
如果未设置, 则通过如下方式增加网关:
# route add default gw 192.168.40.1
或者手工编写/etc/sysconfig/network-scripts/ifcfg*文件后, 重启network服务:
# service network restart
3) 确保可用dns解析
# grep hosts /etc/nsswitch.conf
-------------------------------------------------------------------
hosts: files dns
-------------------------------------------------------------------
如果以上哪个有问题, 修正后, 再测试, 应该就没问题了:
#ping -c 3 www.baidu.com
PING www.a.shifen.com (220.181.6.175) 56(84) bytes of data.
64 bytes from 220.181.6.175: icmp_seq=0 ttl=50 time=9.51 ms
64 bytes from 220.181.6.175: icmp_seq=1 ttl=50 time=8.45 ms
64 bytes from 220.181.6.175: icmp_seq=2 ttl=50 time=8.97 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 8.450/8.977/9.511/0.446 ms, pipe 2
About Me
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2142702/,如需转载,请注明出处,否则将追究法律责任。