CentOS网络设置

CentOS网络设置

这里介绍一下Linux下的网络设置文件,这是网络计算机服务器的前提条件。

1.网络的基本设置

我们在设置网络环境的时候,提前要弄清楚以下的相关信息。

IP IP地址

Netmak 子网掩码

Gateway 默认网关

HostName 主机名称

DomainName 域名

DNS DNS的IP

2.网络设置文件

无论是通过网络配置命令(下文将提到)来配置网络,还是通过图形化的配置界面,最终的配置信息都将写入到某某的文件中,也就是说一旦我们知道了这些信息都写到了什么文件中或哪儿个文件中,我们就可以通过直接的修改某某文件来直接进行配置,下面就说明一下网络设置将要涉及到的几个主要的文件。不光是 CentOS,其他的UNIX系的OS都可以通过这个方法来配置网络,不过系统的不同定义也不同,比如说有些系统会说到通过直接修改文件的方法配置网络信息会导致网络环境的不稳定,提倡使用图形界面或配置命令的形式来配置网络,这里要特别的注意。

(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, dhcpHCP, 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的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/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

这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个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数据字节。

Share

zimplit—新概念的CMS开源程序

zimplit是一款比较新概念的CMS开源程序 (Content Management System,即内容管理系统),适合一般站长创建小型的或微型的站点。
zimplit是一款免费的PHP的CMS系统,也是一款比较新概念的CMS系统:
简单为其最大特点,整个站点一个32k的文件即可搞定;没有后台管理;不需数据库,所有的数据都在 HTML 页面;
zimplit自称100%对搜索引擎友好;
网站管理者只要登陆进去即可管理,所有添加页面管理编辑内容都在左上方的小菜单完成;
可以自己设计、或网上下载使用任何HTML /CSS 主题; Tags: , ,
Related posts
为你的网站选择最完美的颜色搭配 (1)
WidgetBucks—注册即送25美圆 (0)
WebToJepg—在线网页截屏 (1)
templatr—在线定制WordPress模板 (1)
taggify—为你站上的图片加上各种说明 (0)

Share

printwhatyoulike—只打印想要的

printwhatyoulike是一个非常有用的工具,帮助你在打印某一网页时去掉不想打印的部分,并能对保留部分进行一定的编辑。
部分网站提供了打印样式表实现了CSS对打印的控制,设定欲打印的内容也大多是浏览者想要的内容,从而为浏览者提供了方便,但是也有相当一部分没有加入这样的功能,浏览者通常只有借助word才能完成这以工作,但是有了printwhatyoulike,就大大简化了这一工作,只要在printwhatyoulike首页输入欲打印的网页地址,然后就可以像在word中那样对页面中的元素进行编辑了,当然所能进行的操作没有word那样多,但是足以进行这些元素的取舍,位置的调动等方面的操作。下面是一个演示,文字不足以详尽,看图便知其妙处:

Share

烟斗马桶

一款非常吸引眼球的马桶。它的设计灵感来自于水滴,根据马桶的功能进行了一定的变形,所以整体的线条非常顺畅、平滑。当然,或许有人认为这款马桶更像是一个烟斗。不管像什么,它的确非常漂亮。如果在家里摆上一款,一定能够成为你卫生间里的一大亮点。

Share

Ubuntu 8.10 正式版发布时间的WEB倒计时


各位还记得 Ubuntu 8.04 正式版发布之前 Ubuntu 官方提供离 Ubuntu 8.04 正式版发布时间的WEB倒计时吗?也许你在那个时候还把 Ubuntu 8.04 正式版发布的倒计时嵌在了你的网站或是 Blog 中来宣传 Ubuntu 。现在 Ubuntu 官方已经提供了 Ubuntu 8.10 正式版发布时间的WEB倒计时。如果你有网站或 Blog ,把这个倒计时加进去吧,一起向世界传播 Ubuntu !添加的时候非常的简单,你只需要复制到你的网页里,而且每天图片将会自动更新显示离 Ubuntu 8.10 正式版发布的天数。
深色的倒计时:
代码:

浅色的倒计时:代码:

把代码粘贴到你的网页的合适的位置,广大的Ubuntuer们,我们一起来来宣传 Ubuntu 并一天一天地见证 Ubuntu 8.10正式版的发布吧!
获取代码:
http://www.ubuntu.com/getubuntu/countdown
查看倒计时在网页里的展示效果请点击OwnLinux或者LDCN

Share

Ubuntu 单网卡架设VPN并NAT共享上网办法

OwnLinux.cn 作者:P.A.R.F
服务器使用shorewall作为防火墙,实际上shorewall只是作为iptables的一个配置程序而已,实际上防火墙还是iptables;首先是建立VPN,使用软件包PPTPD,这样做的好处是方便认证,也支持windows,安全性不如openvpn,但是简单实用;
服务器环境:OS:ubuntu server 8.04.1firewall: shorewallIP:192.168.2.100安装:
sudo apt-get install pptpd
修改配置文件:/etc/pptpd.conf
修改localip remoteip
localip 192.168.250.1remoteip 192.168.250.234-238,192.168.250.245
这里随便找了个IP段localip相当于拨号后的服务器地址,可以写成本机IP,或者和remoteip的IP段相同的一个IP地址
remoteip是客户机分配的IP段,这里分配了12个IP地址,也就只允许12个机器同时通过VPN连接,再增加就不能分配到IP地址了
修改配置文件:/etc/ppp/chap-secrets
这个文件里面设置登陆用的账号密码等信息
设置格式是:
# client server secret IP addresses
abc * 123456
第一个是用户名 然后是服务器地址 然后是登陆所用的密码 最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配
以上过程之后,咱的PPTPD就配置好了哈
由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议
编辑/etc/shorewall/rules
增加:
ACCEPT net $FW greACCEPT net $FW tcp 1723ACCEPT net $FW tcp 47
然后重启下shorewall:
sudo shorewall restart
开始测试在windows上VPN拨号吧
windows下VPN连接建立方法就不多说了哈
OK,测试VPN可以拨通了,但是还不能通过服务器的网络连接互联网,可能你会发现,除了访问服务器,其他你什么都干不了
下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,希望以后能解决这个问题
拨通VPN后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0
做NAT我也使用shorewall来做
修改/etc/shorewall/interface
增加:
ppp0 ipv4
修改/etc/shorewall/zones
增加:
ppp ppp0
修改/etc/shorewall/masq
增加:
eth0 ppp0
OK,然后重启shorewall
sudo shorewall restart
NAT配置好了
这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。
如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了。
感谢 P.A.R.F 的投递

Share