(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是默认的{dy}个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3……(这里面的文件是相当重要的,涉及到网络能否正常工作)
设定形式:设定值=值
设定项目项目如下:
DEVICE 接口名(设备,网卡)
BOOTPROTO IP的配置方法(static:固定IP, dhcp:动态IP, none:手动)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型(通常是Ethemet)
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:\WINDOWS\system32\drivers\etc\hosts,在这个 文件中添加你要访问的局域网中的主机的IP和hostname,就能通过主机名访问主机了。
3.网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来xx网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御 (控制)是/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{zd0}传送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