Centos网卡ip

Centos 网卡ip 、dns 配置(2009-08-05 11:21:34)标签:杂谈(1)文件 /etc/sysconfig/network这个/etc/sysconfig/network文件是

Centos 网卡ip 、dns 配置(2009-08-05 11:21:34)

标签:杂谈

(1)文件 /etc/sysconfig/network

这个/etc/sysconfig/network文件是定义hostname 和是否利用网络的不接触网络设备的对系统全体定义的文件。

设定形式:设定值=值

/etc/sysconfig/network的设定项目如下:

NETWORKING 是否利用网

络 GATEWAY 默认网关

IPGATEWAYDEV 默认网关的接口名

HOSTNAME 主机名

DOMAIN 域名

(2)文件 /etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts在这个目录下面,存放的是网络接口(网卡)的制御脚本文件(控制文件),ifcfg- eth0是默认的第一个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3„„(这里面的文件是相当重要的,涉及到网络能否正常工作)

设定形式:设定值=值

设定项目项目如下:

DEVICE 接口名(设备, 网卡)

BOOTPROTO IP的配置方法(static:固定IP , dhcp:动态IP , none:手动) HWADDR MAC地址

ONBOOT 系统启动的时候网络接口是否有效(yes/no)

TYPE 网络类型(通常是Ethernet )Wireless NETMASK 网络掩码

IPADDR IP地址

IPV6INIT IPV6是否有效(yes/no)

GATEWAY 默认网关IP 地址

这里有一个例子:

CODE:

[root@linux ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0

1 DEVICE=eth0

2 BOOTPROTO=static

3 BROADCAST=192.168.1.255

4 HWADDR=00:0C:2x:6x:0x:xx

5 IPADDR=192.168.1.23

6 NETMASK=255.255.255.0

,

7 NETWORK=192.168.1.0

8 ONBOOT=yes

9 TYPE=Ethernet

(3)文件 /etc/resolv.conf

这个文件是用来配置主机将用的DNS 服务器信息。在这个文件中如果不设置DNS 服务器的IP 地址,那么在通信的时候,将无法指定像[url=../]

[url=http://www.centospub.com[/url]www.centospub.com[/url[/url]]这样的域名。(DNS 是Domain Name

System 的简称,中文名称域名解析服务器,主要是IP 和域名转换功能)/etc/resolv.conf的设定项目:

domain ←定义本地域名

search ←定义域名和搜索列表

nameserver ←定义被参照的DNS 服务器的IP 地址(最多可指定3个)

一般来说最重要的是第三个nameserver 项目,没有这项定义,用域名将无法访问网站,并且yum 等服务将无法利用

(4)文件 /etc/hosts

/etc/hosts这个文件是记载LAN 内接续的各主机的对应[HostName和IP]用的。在LAN 内,我们各个主机间访问通信的时候,用的是内网的IP 地址进行访问(例:192.168.1.22,192.168.1.23),从而确立连接进行通信。除了通过访问IP 来确立通信访问之外,我们还可以通过HostName 进行访问,我们在安装机器的时候都会给机器起一个名字,这个名字就是这台机器的HostName ,通过上图可以看到,HostA 的 hostname是centos1,HostB 的hostname 是centos2那我们怎么能不但通过IP 确立连接,通过这个IP 对应的 HostName进行连接访问呢?解决的办法就是这个/etc/hosts这个文件,通过把LAN 内的各主机的IP 地址和HostName 的一一对应写入这个文件的时候,就可以解决问题。

要在HostA 上用ssh 访问HostB 的时候,在命令行下做这样的操作:

[ - ]CODE:

[root@centos1 ~]# ssh 192.168.1.23

[email=root@192.168.1.23's]root@192.168.1.23’s[/email] password:

Last login: Mon Dec 25 15:04:58 2006 from centos1

[root@centos2 ~]#

访问成功后,我们看到hostname 的地方变化了。

那么我们用hostname 试试看:

[ - ]CODE:

[root@centos1 ~]# ssh centos2

ssh:centos2: Name or service not known ←提示错误,不知道主机

[root@centos1 ~]#

那么我们编辑/etc/hosts文件,将HostB 的IP 和hostname 的对应关系写入这个文件, 如果主机有域名,可以将域名写在IP 地址之后hostname 之前,并且用空格隔开,形式如第三行

,

127.0.0.1的设置。

[ - ]CODE:

[root@centos1 ~]# cat -n /etc/hosts

1 # Do not remove the following line, or various programs

2 # that require network functionality will fail.

3 127.0.0.1 localhost.localdomain localhost

4 192.168.1.23 centos2

[root@centos2 ~]#

然后我们再从复#ssh centos2的操作

[ - ]CODE:

[root@centos1 ~]# ssh centos2

[email=root@centos2's]root@centos2’s[/email] password:

Last login: Mon Dec 25 15:05:07 2006 from centos1

[root@centos2 ~]#

可以看到访问成功了,这个文件就是这样的,倘若你要用windowsXP 访问局域网中的linux 你也可以用上面的方法,只不过在 windowsXP下面你也要修改hosts 这个文件,文件路径:C:WINDOWSsystem32driversetchosts,在这个文件中添加你要访问的局域网中的主机的IP 和hostname ,就能通过主机名访问主机了。

3.网络基本命令

(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:

[root@linux ~]#/etc/init.d/networkrestart

同样也可以用service 这个命令来操作网络服务例如:

[root@linux ~]#service network restart

start ←启动

stop ←停止

restart ←再启动

reload ←和再启动一样(.. )

status ←状态表示

如果服务器软件采用rpm 的方式安装,以上的内容大多数都对应。

(2)network 管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。 ifconfig

netstat

hostname

ping

,

traceroute

这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig 可以表示网络接口的状态。例如:

[root@linux ~]# ifconfig

eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45

inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe61:445/64 Scopeink

UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RXpackets:472 errors:0 dropped:0 overruns:0 frame:0

TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RXbytes:35804 (34.9 KiB) TX bytes:53012(51.7 KiB)

Interrupt:185 Base address:0×1080

lo Link encapocal Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UPLOOPBACK RUNNING MTU:16436 Metric:1

RXpackets:8 errors:0 dropped:0 overruns:0 frame:0

TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RXbytes:560 (560.0 b) TX bytes:560 (560.0b)

[root@linux ~]#

看看ifconfig 的输出内容

1. Link encap ←

2. HWaddr ←MAC 地址

3.inet addr ←IP 地址(IPV4)

4. Bcast ←广播地址

5. Mask ←衍码

6. inet6 addr ←IP 地址(IPV6)

7. UP ←启动中

8. BROADCAST ←广播地址有效

9. RUNNING ←动作

10. MTU ←网络接口的MTU (MaximumTransfer Unit:Ethernet 最大传送frame 值)

11. Metric ←

12. RX packets ←受信包数

13. TX packets ←送信包数

14. collisions ←

15. interrupt ←IRQ 号码

,

16. Baseaddress ←I/O地址

通过这个命令还可以up (开启)和down (关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:

[root@linux ~]#ifconfigeth0 down

相反的开启如下:

[root@linux ~]#ifconfigeth0 up

通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP 设置成192.168.1.11,子网衍码设置成255.255.255.0如下:

[root@linux ~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0

假如有多个网络接口的情况下,ethX 的X 部分用网络接口码(数字,例如eth0,eth1,eth2代替)。

netstat

这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。

看看下面的输出信息:

这里是192.168.1.56正在通过ssh 连接192.168.1.81的情形

[root@linux ~]#netstat

Active Internetconnections (w/o servers)

Proto Recv-Q Send-QLocal

Address ForeignAddress State tcp 0 0 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED

Active UNIX domainsockets (w/o servers)

Proto RefCntFlags Type State I-Node Path

unix 11 [ ] DGRAM 5202 /dev/log unix 2 [ ] DGRAM 5997 @/var/run/hal/hotplug_socket

unix 2 [ ] DGRAM 2536 @udevd

unix

2 [ ] DGRAM 7474 unix 3 [ ] STREAM CONNECTED 5995

/var/run/dbus/system_bus_socket

unix 3 [ ] STREAM CONNECTED 5994

unix 3 [ ] STREAM CONNECTED 5974

unix 3 [ ] STREAM CONNECTED 5973

unix

2 [ ] DGRAM 5933

,

unix

2 [ ] DGRAM 5923 unix

2 [ ] DGRAM 5876 unix

2 [ ] DGRAM 5819 unix

2 [ ] DGRAM 5805 unix

2 [ ] DGRAM 5786 unix

2 [ ] DGRAM 5723 unix 3 [ ] STREAM CONNECTED 5388

unix 3 [ ] STREAM CONNECTED 5387

unix

2 [ ] DGRAM 5280 unix

2 [ ] DGRAM 5210

[root@linux ~]#

主要的选项:

-a 显示所有socket ,包括正在监听的。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同“ipconfig -e”。

-n 以网络IP 地址代替名称,显示出网络连接情形。

-r 显示核心路由表,格式同“route -e”。

-t 显示TCP 协议的连接情况。

-u 显示UDP 协议的连接情况。

-v 显示正在进行的工作。

以上的选项可以结合使用,例如我们想知道正在开放的TCP 端口,可以用下面的形势执行察看:

[root@linux ~]#netstat -at

Active Internetconnections (servers and established)

Proto Recv-Q Send-QLocal

Address ForeignAddress State tcp 0 0

*:617 *:* LISTEN

tcp 0 0

,

*:sunrpc *:* LISTEN

tcp 0 0

*:ipp *:* LISTEN

tcp 0 0 linux.xiaoqi.ddo.jp:smtp

*:* LISTEN

tcp 0 0

*:ssh *:* LISTEN

tcp 0 132 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED

[root@linux ~]#

其他使用方法可以自己尝试„..

Hostname

这个命令是表示hostname 和设置hostname 用的,在不跟随任何选项被执行的情形下,将表示现在的hostname ,例如下面的输出:

[root@linux ~]#hostname

linux.xiaoqi.ddo.jp

[root@linux ~]#

如果是root 的登陆情形下,可以更改hostname ,例如我们把现在的hostname 改称centos 的情形如下:

[root@linux ~]#hostname centos

[root@linux ~]#hostname

centos

[root@linux ~]#

ping

这条命令是通过向目标地址发送ICMP 信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP 地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping 自己主机来判断,情形如下:

[root@linux ~]# pinglocalhost // 这个地方的localhost 可以用127.0.0.1来代替,或目标地址IP 地址或域名,通常还用这条命令来访问DNS 服务器来取得目标主机的IP 地址或域名等用法

PING linux.xiaoqi.ddo.jp (127.0.0.1) 56(84) bytes ofdata.

64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms 64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms —linux.xiaoqi.ddo.jp ping statistics —

2 packetstransmitted, 2 received, 0 packet loss, time 1001ms // 注意这个地方有

,

一个0表示网络正常,当此处的X的X 是0以外的数字就表明网络有问题,或者当ping 命令被执行后,将会显示time out之类的字样。

rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2

[root@linux ~]#

Ping 命令的主要选项如下:

-c 数目在发送指定数目的包后停止。

-d 设定SO_DEBUG的选项。

-f 大量且快速地送网络封包给一台机器,看它的回应。

-I 秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-l 次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。

-s 字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP 头,一共是64ICMP 数据字节。

重启centos shutdown -r now

标签: