CentOS 网络配置问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 网络配置问题相关的知识,希望对你有一定的参考价值。


安装CentOS 6网络配置问题



今天决定把家中的CentOS从5升级至6。但安装完CentOS 6.2之后发现eth0没有像往常一样通过DHCP自动获取IP。打开“/etc/sysconfig/network-scripts/ifcfg-eth0”后发现配置信息与往常不太一样,配置信息如下。



1 DEVICE="eth0"


2 HWADDR="00:0C:29:8E:13:7E"


3 NM_CONTROLLED="yes"


4 ONBOOT="no"


  www.2cto.com  


“NM_CONTROLLED”,这一个陌生的配置项由此进入我眼球, 从Google结果http://www.convirture.com/wiki/index. ​​php​​?title=RedHat_6_Networking得知原来从RedHat6开始,在安装过程中默认不再人工配置网络,转为通过 Network Manager http://www.redhat.com/magazine/003jan05/features/networkmanager/。(怪不得安装的时候没有看到任何关于网络的设置步骤啦!)


但我把配置信息更改为以下内容,并执行命令“/etc/init.d/network restart”后,一切恢复正常。



1 DEVICE="eth0"


2 BOOTPROTO="dhcp"


3 HWADDR="00:0C:29:8E:13:7E"


4 NM_CONTROLLED="no"


5 ONBOOT="yes



例如:
# ifconfig eth0 down 停止eth0接口
# ifconfig eth0 up 开启eth0接口



在 Linux 系统中,TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作。在Redhat linux刚安装好后可以通过图形化界面来配置,以下介绍通过命令行配置网络
用cat命令查看默认安装后关于网络配置的文件信息

1.cat   /etc/sysconfig/network

2.cat   /etc/resolv.conf

3.cat   /etc/sysconfig/network-scripts/ifcfg-ethN (eth0为默认的,需要根据自己的情况而定)


我们依次来配置了解和配置一下上面的三个文件

/etc/sysconfig/network

网络设置

该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件:


NETWORKING=yes

HOSTNAME=machine1


GATEWAY=210.34.6.2


FORWARD_IPV4=yes


GATEWAYDEV=


其中, NETWORK=yes/no 表示网络是否被配置;

HOSTNAME=hostname hostname 表示服务器的主机名;


GATEWAY=gw-ip gw-ip 表示网络网关的IP 地址;


FORWARD_IPV4=yes/no 是否开启IP 转发功能;


GAREWAYDEV=gw-dev gw-dw 表示网关的设备名,如:eth0 等。

注:改完/etc/init.d/network 需要重新启动才能生效
命令:

# /etc/rc.d/init.d/network start 启动network
# /etc/rc.d/init.d/network stop 停止network
# /etc/rc.d/init.d/network restart 重启network
 

以下是我的文件内容:

NETWORKING=yes
HOSTNAME=localhost.localdomain
#GATEWAY=192.168.1.1 (注:这里的GATEWAY最好注释掉,因为在/etc/sysconfig/network-scripts/ifcfg-eth0 中也有GATEWAY配置,)

/etc/resolv.conf配置DNS 客户
文件/etc/resolv.conf 配置DNS 客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。最多可以设置3行,前面的生效。

下面是一个例子文件:
nameserver 192.168.0.36
nameserver 192.168.0.37
search huawei-3com.com

合法的参数及其意义如下:
nameserver表明DNS 服务器的IP 地址。可以有很多行的nameserver,每一个带一个I P 地址。在查询时就按nameserver 在本文件中的顺序进行,且只有当第一个nameserver 没有反应时才查询下面的nameserver.
domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS 查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( . )前面的内容。
search它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search 声明的域中分别查找。domain 和search 不能共存;如果同时存在,后面出现的将会被使用。
sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对。允许任意的排列顺序。Red Hat 中没有提供缺省的/etc/resolv.conf 文件,它的内容是根据在安装时给出的选项动态创建的。

以下为我的/etc/resolv.conf 内容:
search localdomain
nameserver 192.168.1.1

/etc/sysconfig/network-scripts/ifcfg-ethN文件
系统网络设备的配置文件保存在”/etc/sysconfig/network-scripts”目录下,ifcfg-eth0 包含第一块网卡的配置信息,ifcfg-eth1 包含第二块网卡的配置信息。

下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
DEVICE=eth0                网卡编号
ONBOOT=yes                 开机时是否启动网卡
BOOTPROTO=static           静态ip或者DHCP动态获取(none/static/DHCP)
IPADDR=192.168.0.66        本机ip地址
NETMASK=255.255.255.0      子网掩码
GATEWAY=192.168.0.65       默认网关
TYPE=Ethernet
USERCTL=no
PEERDNS=no
若希望手工修改网络地址或在新的接口上增加新的网络界面可以通过修改
对应的文件(ifcfg-ethN) 或创建新的文件来实现。

以下为我的文件内容:
NETWORKING=yes
HOSTNAME=localhost.localdomain
#GATEWAY=192.168.1.1
[root@localhost xjch]# cat /etc/resolv.conf
search localdomain
nameserver 192.168.1.1
[root@localhost xjch]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.111
NETMASK=255.255.255.0
#NETWORK=198.168.1.0
GATEWAY=192.168.1.1
TYPE=Ethernet
USERCTL=no
PEERDNS=no
注:单个网络接口的配置文件进行修改后,不必每次都从新启动network服务使配置文件生效,可用以下命令。
Ifdown 网络接口名称 停止某个网络接口。Ifup 网络接口名称 开启某个网络接口。

问题

配置好网络之后 systemctl restart network 之后发现ping通局域网的ip但是不能ping通外网ip或者域名,后来发现是网关地址不对,一般都是默认是192.168.1.1但是,当前网络环境下网关并不是192.168.1.1而是192.168.1.254,修改网关之后重启网络,就可以ping通外网。 

GATEWAY=192.168.1.254 (根据具体网关地址来配置)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.199
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6AUTOCONF=yes
IPV6DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=8203ea9b-9d3e-49cc-a5d1-d06877f95723
DEVICE=ens33
ONBOOT=yes
GATEWAY=192.168.1.254
NETWORK=192.168.1.1
NETSTAT=255.255.255.0
DNS1=61.139.2.69
DNS2=8.8.8.8


在 Linux 系统中,TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作。在Redhat linux刚安装好后可以通过图形化界面来配置,以下介绍通过命令行配置网络
用cat命令查看默认安装后关于网络配置的文件信息

1.cat   /etc/sysconfig/network

2.cat   /etc/resolv.conf

3.cat   /etc/sysconfig/network-scripts/ifcfg-ethN (eth0为默认的,需要根据自己的情况而定)


我们依次来配置了解和配置一下上面的三个文件

/etc/sysconfig/network

网络设置

该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件:


NETWORKING=yes

HOSTNAME=machine1


GATEWAY=210.34.6.2


FORWARD_IPV4=yes


GATEWAYDEV=


其中, NETWORK=yes/no 表示网络是否被配置;

HOSTNAME=hostname hostname 表示服务器的主机名;


GATEWAY=gw-ip gw-ip 表示网络网关的IP 地址;


FORWARD_IPV4=yes/no 是否开启IP 转发功能;


GAREWAYDEV=gw-dev gw-dw 表示网关的设备名,如:eth0 等。

注:改完/etc/init.d/network 需要重新启动才能生效
命令:

# /etc/rc.d/init.d/network start 启动network
# /etc/rc.d/init.d/network stop 停止network
# /etc/rc.d/init.d/network restart 重启network
 

以下是我的文件内容:

NETWORKING=yes
HOSTNAME=localhost.localdomain
#GATEWAY=192.168.1.1 (注:这里的GATEWAY最好注释掉,因为在/etc/sysconfig/network-scripts/ifcfg-eth0 中也有GATEWAY配置,)

/etc/resolv.conf配置DNS 客户
文件/etc/resolv.conf 配置DNS 客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。最多可以设置3行,前面的生效。

下面是一个例子文件:
nameserver 192.168.0.36
nameserver 192.168.0.37
search huawei-3com.com

合法的参数及其意义如下:
nameserver表明DNS 服务器的IP 地址。可以有很多行的nameserver,每一个带一个I P 地址。在查询时就按nameserver 在本文件中的顺序进行,且只有当第一个nameserver 没有反应时才查询下面的nameserver.
domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS 查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( . )前面的内容。
search它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search 声明的域中分别查找。domain 和search 不能共存;如果同时存在,后面出现的将会被使用。
sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对。允许任意的排列顺序。Red Hat 中没有提供缺省的/etc/resolv.conf 文件,它的内容是根据在安装时给出的选项动态创建的。

以下为我的/etc/resolv.conf 内容:
search localdomain
nameserver 192.168.1.1

/etc/sysconfig/network-scripts/ifcfg-ethN文件
系统网络设备的配置文件保存在”/etc/sysconfig/network-scripts”目录下,ifcfg-eth0 包含第一块网卡的配置信息,ifcfg-eth1 包含第二块网卡的配置信息。

下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
DEVICE=eth0                网卡编号
ONBOOT=yes                 开机时是否启动网卡
BOOTPROTO=static           静态ip或者DHCP动态获取(none/static/DHCP)
IPADDR=192.168.0.66        本机ip地址
NETMASK=255.255.255.0      子网掩码
GATEWAY=192.168.0.65       默认网关
TYPE=Ethernet
USERCTL=no
PEERDNS=no
若希望手工修改网络地址或在新的接口上增加新的网络界面可以通过修改
对应的文件(ifcfg-ethN) 或创建新的文件来实现。

以下为我的文件内容:
NETWORKING=yes
HOSTNAME=localhost.localdomain
#GATEWAY=192.168.1.1
[root@localhost xjch]# cat /etc/resolv.conf
search localdomain
nameserver 192.168.1.1
[root@localhost xjch]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.111
NETMASK=255.255.255.0
#NETWORK=198.168.1.0
GATEWAY=192.168.1.1
TYPE=Ethernet
USERCTL=no
PEERDNS=no
注:单个网络接口的配置文件进行修改后,不必每次都从新启动network服务使配置文件生效,可用以下命令。
Ifdown 网络接口名称 停止某个网络接口。Ifup 网络接口名称 开启某个网络接口。

问题

配置好网络之后 systemctl restart network 之后发现ping通局域网的ip但是不能ping通外网ip或者域名,后来发现是网关地址不对,一般都是默认是192.168.1.1但是,当前网络环境下网关并不是192.168.1.1而是192.168.1.254,修改网关之后重启网络,就可以ping通外网。 

GATEWAY=192.168.1.254 (根据具体网关地址来配置)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.199
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6AUTOCONF=yes
IPV6DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=8203ea9b-9d3e-49cc-a5d1-d06877f95723
DEVICE=ens33
ONBOOT=yes
GATEWAY=192.168.1.254
NETWORK=192.168.1.1
NETSTAT=255.255.255.0
DNS1=61.139.2.69
DNS2=8.8.8.8

以上是关于CentOS 网络配置问题的主要内容,如果未能解决你的问题,请参考以下文章

centos6配置IP地址

centos7网络桥接模式下配置

CentOS配置静态IP

vmware在桥接模式下配置centos7网络

互联网时代的网络自动化运维

centos7搭建gitlab版本控制系统