﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-blueskiner-随笔分类-Linux系统相关</title><link>http://www.cppblog.com/blueskiner/category/19765.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 30 Jul 2014 23:38:50 GMT</lastBuildDate><pubDate>Wed, 30 Jul 2014 23:38:50 GMT</pubDate><ttl>60</ttl><item><title>网上转的一篇关于boost asio网络引擎开发的文章</title><link>http://www.cppblog.com/blueskiner/archive/2014/07/24/207768.html</link><dc:creator>卡洛shll</dc:creator><author>卡洛shll</author><pubDate>Thu, 24 Jul 2014 00:21:00 GMT</pubDate><guid>http://www.cppblog.com/blueskiner/archive/2014/07/24/207768.html</guid><wfw:comment>http://www.cppblog.com/blueskiner/comments/207768.html</wfw:comment><comments>http://www.cppblog.com/blueskiner/archive/2014/07/24/207768.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/blueskiner/comments/commentRss/207768.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/blueskiner/services/trackbacks/207768.html</trackback:ping><description><![CDATA[<span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">今天找到了贵论坛，发现坛主的很多想法和本人不谋而合，本人近1年主要精力都致力于开发一个大型多人在线游戏的基本架构和相关的技术模组。而我欣喜的发现我与坛主的研究方向正好相反：我是先从服务器端开始研究入手的，目前服务器端告一段落，正准备开始客户端的研发，在寻找客户端引擎的时候碰巧找到了这里。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">我看到坛主的这个板块，了解到Orz正需要一些服务器方面的资料，在此我先奉上个人的服务器端的一些成果，希望能有所帮助。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">（一）自己开发的一个基于boost::asio的网络引擎</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">首先这个网络引擎是基于boost::asio的一个封装，网络部分功能非常底层，API只有基本的listen、connect、send、kick等（均为异步，目前只实现了TCP协议），而其他方面提供的是基于mysql的db接口和log接口，还有一个自己开发的对象池，用于使用FreeList的概念来事先分配内存，降低运行时期内存的分配时间；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">另外就是开发了一个多线程下的数据结构，一个线程安全的map，这个map可以让无限个线程同时读和写（包括添加元素、删除元素、修改元素）而无需任何因为互斥锁定带来的线程等待等开销。即是说1000个线程和1个线程操作这个map的效率是相同的。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">发布形式：win32（64位未测试，但是开发考虑了相关的定制，例如指针和long在64位下从4字节提高到8字节，引擎底层做了数据类型的typedef）下 dll+lib+include；linux（Redhat、CentOS5.x，gcc3.4以上，需要安装boost1.37和mysql5.0）so+include；source code，yes，of course！</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">网络部分的基本结构是这样的：</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#1 io部分设计。一个线程池负责处理io，这个实际上就是一组boost::asio::io_service::run，每个boost::asio::io_service下有一组私有线程，负责处理异步io事件，这里，boost::asio::io_service得数量和其下私有线程的数量是可以根据配置文件自由设置的，如果你了解boost::asio，那么一定知道它推荐一个cpu对应一个boost::asio::io_service对象（或者一个boost::asio::io_service，但是每个boost::asio::io_service下的私有线程对应每个cpu），这样在多处理器（或者多核处理器）下效率可以达到最高；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#2 complete handler设计。另一个线程池负责处理封装好的complete handler，即对应io事件的用户定义的逻辑处理，例如io recv事件，对应一个用户实现邦定的（使用boost::bind和boost::function）handler来处理当接受到socket消息的时候调用对应的handler（函数、仿函数对象、成员函数等）。#1和#2中的线程池之间使用一组线程安全的队列来传递消息（传递使用直接的值拷贝，不使用动态内存，因为动态内存的申请和释放太消耗时间，即便使用内存池也一样。1k以下的值拷贝的时间损耗都远远小于对应的动态内存申请的时间；另外使用值拷贝也有线程安全的考虑）；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#3 封包的设计。head+body，head中有固定4字节的body长度信息（int32）和4字节的封包类型信息（int32），如果愿意，可以修改代码进行扩展（packet部分是独立于引擎的模块，也是一组dll,lib,include或者so,include），接受和发送由于是tcp，所以按照head中的body长度来控制一个封包的完整性。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#4 多线程模型。boss-worker模型，主要用于广播消息、查找、和db、log的实现上；生产者、消费者模型，主要用于#1和#2 的两个线程池之间的事件传递（io线程池产生completehandler，用户的线程池负责处理、消费）</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#5 session的设计。一个session就是一个成功连接进来的客户端socket代理，出于线程安全和效率的考虑，session的存储容器不使用任何stl和boost的容器，而是使用&#8212;&#8212;C的数组（当然不是静态数组，而是：new char[n]这样的），来实现。而且是二维数组，这样配合对象池（指与先分配好一组&#8220;空&#8221;的session），我们无需任何互斥变量就能够毫无阻碍的访问和修改数组中的每个元素（session），并发性能达到最大。至于二维数组的设计，第二维的值对应io线程池和用户线程池中的线程数量，即一个线程唯一邦定一组session，这是为了分配session id时候效率和安全的考虑。（例如id 0~9对应一组session，10~19是第二组，而每组id和session都唯一绑定一个线程）</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#6 线程之间数据传递的设计。线程安全的queue，使用了boost::thread::locks中的mutex、shared_mutex、condition_variable_any等概念，当queue空闲时，使用条件变量等待特定的事件（例如新的元素push进来，或者程序退出等）；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#7 异步下session的唯一性。由于整体是异步的，所以不可避免的会出现当一个session的某个处理还未结束的时候，这个session已经消失了，甚至换了一个新的session（指id的分配），那么这个时候如果没有任何防范处理，之前的那个未完成的处理很可能会作用到这个新的session上，就不可避免的出现一些错误和未知情况，我们如何防范呢？使用valid_code，设计一个64位的无符号整型变量，给每个session按照事先给定的session总量（这个引擎使用预先分配内存方法，所以开始前必须手动指定session的最大数量&#8212;&#8212;通过配置文件），分配一个唯一的数据段（例如1~10000000，10000001~2000000等），每次这个session发现有新连接进来的socket使用了自己，则将自己的valid_code +1，当加到最大值的时候（例如刚才举例的10000000等），自动变为最小值（例如刚才的1等）。每个session的valid_code在引擎的初始化阶段是随机生成的（在事先指定好的数据段中随机）。再加上每个session的数据段时唯一的，所以不会产生重复的valid_code，这样鉴别某个时间段内唯一的session就成了可能；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#8 agent基类的设计。这个其实就是封装了boost::thread类，即&#8220;带私有线程的类&#8221;，主要用于作为一些相对独立的工作，例如log记录、db访问处理、定期ping某个ip等，引擎中的logger和db接口都是继承自它；</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#9 db接口设计。一个数据库对应一个database对象，每个database对象拥有一个自己私有的线程池，其中线程的数量可以根据配置文件自由设定（例如和mysql的连接数量等，处理query的线程数量等）</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#10 一些零碎。BIG_ENDIAN问题，封包内部自动进行了处理，无须用户单独设置；跨平台以及不同编译器的预编译设置，以及不同cpu的针对处理（x86，powerpc等）</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">目前的不足之处：</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#1 并未开发完全。udp没有实现封装，当然boost::asio完全支持。logger目前只支持printf功能，对于写file和传递到专门的log服务器方面只留下了接口；封包加密以及安全方面是一个空白，目前的版本并未添加。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#2 面向底层，并不提供高层功能，所以很多开发都需要自己进行；（对，这并不是一个&#8220;网游引擎&#8221;）</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">#3 性能方面并未经过大量测试，由于本人工作较忙，这些都是业余时间搞得，所以只是初步测了一下连接并发部分：使用某个不知道配置的笔记本测得3秒并发连接1500。再多的并发连接并没有尝试过。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">PS 由于本人工作较忙，故只能提供源代码（只提供windows版，便于查看，linux可以直接使用源代码编译，gcc3.4以上boost1.37即可），文档方面一直没有时间整理，这篇文章都是中午抽空写的（零零散散修改到现在），所以暂时就写这么多把。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">PS2 提供的源代码是vs2005sln，只包含source code、配置和工程文件。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">PS3 我看到贵论坛在研究RakNet，据我的一个前同事说，他认为RakNet并不好，网络底层用的是select，而且不是异步，代码质量不高，建议我不要使用它的网络层。我感觉RakNet的一些高层功能还是可以参考的，例如安全加密、大厅分流等，至于网络底层，我建议还是用boost::asio，跨平台、性能和扩展性都很优秀，而且被C++标准委员会所支持，很被看好。</span><br style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;" /><span style="color: #454545; font-family: tahoma, helvetica, arial; background-color: #ffffff;">作者：Nouness</span><img src ="http://www.cppblog.com/blueskiner/aggbug/207768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/blueskiner/" target="_blank">卡洛shll</a> 2014-07-24 08:21 <a href="http://www.cppblog.com/blueskiner/archive/2014/07/24/207768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux命令行修改IP、网关、DNS的方法</title><link>http://www.cppblog.com/blueskiner/archive/2012/08/05/186309.html</link><dc:creator>卡洛shll</dc:creator><author>卡洛shll</author><pubDate>Sat, 04 Aug 2012 18:06:00 GMT</pubDate><guid>http://www.cppblog.com/blueskiner/archive/2012/08/05/186309.html</guid><wfw:comment>http://www.cppblog.com/blueskiner/comments/186309.html</wfw:comment><comments>http://www.cppblog.com/blueskiner/archive/2012/08/05/186309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/blueskiner/comments/commentRss/186309.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/blueskiner/services/trackbacks/186309.html</trackback:ping><description><![CDATA[<p><span>Linux命令行修改IP、网关、DNS的方法</span></p>
<p><span>方式一：</span></p>
<p><span>ifconfig eth0 192.168.1.18 netmask 255.255.255.0</span></p>
<p><span>说明：该种方式可以使改变即时生效，重启后会恢复为原来的IP</span></p>
<p><span>方式二：</span></p>
<p><span>vi /etc/sysconfig/network-scripts/ifcfg-eth0</span></p>
<p><span>说明：该方式要重启后生效，且是永久的</span></p>
<p><span>如果要立即更改且永久生效，就只能以上两种方式同时使用了。</span></p>
<p><span>以上是通过linux命令行修改IP的方法。</span></p>
<p>&nbsp;</p>
<p><span>网卡eth0&nbsp;&nbsp;&nbsp; IP修改为 102.168.0.1&nbsp;&nbsp;&nbsp;</span></p>
<p><span>ifconfig eth0 102.168.0.1 netmask 255.255.255.0</span></p>
<p><span>网关修改为 102.168.0.254</span></p>
<p><span>route add default gw 102.168.0.254</span></p>
<p><span>Linux命令行修改dns</span></p>
<p><span>echo "nameserver 202.202.202.20 "&gt;&gt; /etc/resolv.conf</span></p>
<p><span>重启网络服务</span></p>
<p>&nbsp;</p>
<p><span>例子：由原来的DHCP改固定IP<br />DEVICE=eth0<br />HWADDR=00:0C:29:F7:EF:BF<br />ONBOOT=yes<br />TYPE=Ethernet<br />NETMASK=255.255.255.0<br />IPADDR=192.168.0.68<br />GATEWAY=192.168.0.1<br />加上红色即可<br /><br />重启网卡：<br />/etc/init.d/network restart</span></p>
<p><span class="w_deepbrown"><span>ifconfig eth0 新ip<br />然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0，修改ip<br /><br />[aeolus@db1 network-scripts]$ vi ifcfg-eth0 <br /><br />DEVICE=eth0<br />ONBOOT=yes<br />BOOTPROTO=static<br />IPADDR=219.136.241.211<br />NETMASK=255.255.255.128<br />GATEWAY=219.136.241.254<br /><br />[aeolus@db1 etc]$ vi resolv.conf <br /><br />nameserver 202.96.128.68<br />nameserver 219.136.241.206<br /><br />－－－－－－－－－－－－－－－－－－－－－－－<br />Linux下修改网卡IP和网关<br /><br /><br />建议通过终端字符方式下来修改<br />一修改IP地址<br />vi /etc/sysconfig/network-scripts/ifcfg-eth0<br />DEVICE=eth0<br />BOOTPROTO=none<br />BROADCAST=192.168.1.255<br />IPADDR=192.168.1.33<br />NETMASK=255.255.255.0<br />NETWORK=192.168.1.0<br />ONBOOT=yes<br />USERCTL=no<br />PEERDNS=no<br />TYPE=Ethernet<br />~<br /><br />vi /etc/sysconfig/network-scripts/ifcfg-eth1<br /><br />DEVICE=eth1<br />ONBOOT=yes<br />BOOTPROTO=none<br />IPADDR=192.168.2.34<br />NETMASK=255.255.255.0<br />USERCTL=no<br />PEERDNS=no<br />TYPE=Ethernet<br />NETWORK=192.168.2.0<br />BROADCAST=192.168.2.255<br />二修改网关<br />vi /etc/sysconfig/network<br /><br />NETWORKING=yes<br />HOSTNAME=Aaron<br />GATEWAY=192.168.1.1<br /><br />三重新启动网络配置<br />/etc/init.d/network restart<br /><br /><br /><br />-----------------------------------------------------------------------------------<br /><br />修改配置文件<br /><br />/etc/sysconfig/network-scripts/ 下有配置文件<br /><br />比如文件：ifcfg-eth0 代表是以太网实际网卡0的配置文件<br /><br />比如文件：ifcfg-eth0:1 代表是以太网实际网卡0的配置文件<br /><br />域名服务器配置文件：/etc/ resolv.conf<br /><br />修改ip地址<br />即时生效:<br /># ifconfig eth0 192.168.0.20 netmask 255.255.255.0<br />启动生效:<br />修改/etc/sysconfig/network-scripts/ifcfg-eth0<br /><br />修改default gateway<br />即时生效:<br /># route add default gw 192.168.0.254<br />启动生效:<br />修改/etc/sysconfig/network-scripts/ifcfg-eth0<br /><br />修改dns<br />修改/etc/resolv.conf<br />修改后可即时生效，启动同样有效<br /><br />修改host name<br />即时生效:<br /># hostname fc2<br />启动生效:<br />修改/etc/sysconfig/network<br /></span></span></p>
<p>&nbsp;</p>
<p><span class="w_deepbrown"><span style="color: #274e13"><span># Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+<br />DEVICE=eth0 接口名称<br />BOOTPROTO=none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 静态配置，若该值为&#8220;dhcp&#8221;则为动态获得，另外 static也是表示静态ip地址<br />BROADCAST=192.168.10.255 广播地址，通过IP地址和子网掩码自动计算得到<br />HWADDR=00:13:D3:27:9F:80 <br />IPADDR=192.168.10.238<br />IPV6INIT=yes<br />IPV6_AUTOCONF=yes<br />NETMASK=255.255.255.0<br />NETWORK=192.168.10.0&nbsp;&nbsp;&nbsp; 指定网络，通过IP地址和子网掩码自动计算得到<br />ONBOOT=yes &nbsp;&nbsp; 开机时自动加载<br />GATEWAY=192.168.10.1<br />TYPE=Ethernet<br />PEERDNS=yes<br />USERCTL=no<br /><br />ifdown eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 关闭网络<br />ifconfig eth0 down&nbsp;&nbsp;&nbsp; 关闭网络<br /><br />ifup eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开启网络<br />ifconfig eth0 up&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开启网络<br /></span><br /><strong><span>设置dns</span></strong></span><span style="color: #274e13"><font size="2"><span style="font-size: small"><strong> /etc/resolv.conf</strong><br /><br />nameserver 61.144.56.101<br />nameserver 202.96.128.166<br /><br />[yeger@yeger ~]$ cat /etc/resolv.conf <br /># Generated by NetworkManager<br />nameserver 202.96.128.86<br />nameserver 202.96.128.166<br /><br /><strong>其他方面</strong><br />service network start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //启动网络服务<br />service network stop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //停止网络服务<br />service network restart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //重启网络服务<br />service network status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //查看网络服务状态<br /><br />ifconfig eth0 192.168.10.222 netmask 255.255.255.0 //临时修改接口IP地址（无需重启接口）<br /><br />[yeger@yeger ~]$ sudo ifconfig wlan0 192.168.21.199 netmask 255.255.255.0<br />[yeger@yeger ~]$ ifconfig wlan0<br />wlan0 Link encap:Ethernet HWaddr 00:02:72:77:BB:D1 <br />inet addr:192.168.21.199 Bcast:192.168.21.255 Mask:255.255.255.0<br />inet6 addr: fe80::202:72ff:fe77:bbd1/64 Scope:Link<br />UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />RX packets:3246 errors:0 dropped:0 overruns:0 frame:0<br />TX packets:1947 errors:0 dropped:0 overruns:0 carrier:0<br />collisions:0 txqueuelen:1000 <br />RX bytes:4514869 (4.3 MiB) TX bytes:177732 (173.5 KiB)<br />wlan0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示第一块无线以太网卡</span><br /><span style="font-size: small">Link encap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示该网卡位于OSI物理层(Physical Layer）的名称</span><br /><span style="font-size: small">HWaddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示网卡的MAC地址（Hardware Address）</span><br /><span style="font-size: small">inet addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示该网卡在TCP/IP网络中的IP地址</span><br /><span style="font-size: small">Bcast&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示广播地址（Broad Address）</span><br /><span style="font-size: small">Mask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示子网掩码（Subnet Mask）</span><br /><span style="font-size: small">MTU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示最大传送单元，不同局域网 MTU值不一定相同，对以太网来说，MTU的默认设置是1500个字节</span><br /><span style="font-size: small">Metric&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示度量值，通常用于计算路由成本</span><br /><span style="font-size: small">RX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示接收的数据包</span><br /><span style="font-size: small">TX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span style="font-size: small">表示发送的数据包</span><br /><span style="font-size: small">collisions&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span style="font-size: small">表示数据包冲突的次数</span><br /><span style="font-size: small">txqueuelen &nbsp;&nbsp; </span><span style="font-size: small">表示传送列队（Transfer Queue）长度</span><br /><span style="font-size: small">interrupt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: small">表示该网卡的IRQ中断号</span><br /><span style="font-size: small">Base address&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span>表示I/O地址<br /><br /></span></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: small"><span style="color: #274e13"><font size="2"><strong>配置虚拟网卡</strong><strong>IP</strong><strong>地址</strong>:网卡需要拥有多个IP地址</font></span></span></p>
<p style="margin-bottom: 0cm"><span>命令格式： ifconfig 网卡名：虚拟网卡ID IP地址 netmask 子网掩码</span></p>
<p><span>[yeger@yeger ~]$ sudo ifconfig wlan0:1 192.168.21.188 netmask 255.255.255.0</span></p>
<p style="margin-bottom: 0cm"><span style="font-size: small"><span style="color: #274e13"><font size="2"><strong>更改网卡</strong><strong>MAC</strong></font></span></span><strong><span style="color: #274e13"><span>地址</span><br /></span></strong></p>
<p style="margin-bottom: 0cm"><span>ifconfig 网卡名 hw ether MAC地址<br /></span></p>
<p style="margin-bottom: 0cm"><span>[yeger@yeger ~]$ ifconfig wlan0 hw ether 00:11:22:33:44:55</span></p>
<p><br /><span>SIOCSIFHWADDR: 不允许的操作<br />[yeger@yeger ~]$ sudo ifconfig wlan0 hw ether 00:11:22:33:44:55<br />SIOCSIFHWADDR: 设备或资源忙<br />[yeger@yeger ~]$ ifconfig wlan0 down<br />SIOCSIFFLAGS: 权限不够<br />[yeger@yeger ~]$ sudo ifconfig wlan0 down<br />[yeger@yeger ~]$ sudo ifconfig wlan0 hw ether 00:11:22:33:44:55<br />更改成功<br /><br />[yeger@yeger ~]$ netstat -ant 查看端口信息 a 所有 n数字显示 t tcp协议 u udp协议<br />Active Internet connections (servers and established 已建立连接)<br /></span><span style="font-size: small"><span><font size="2">Proto Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />协议&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本地地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 远程地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 连接状态<br />类型<br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:57798&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listen表示监听状态<br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:111&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 192.168.122.1:53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 127.0.0.1:631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 127.0.0.1:25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 :::111&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 :::22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 ::1:631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :::*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><br />[yeger@yeger ~]$ netstat -r 查看路由表<br />Kernel IP routing table<br />Destination&nbsp;&nbsp;&nbsp;&nbsp; Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genmask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags&nbsp;&nbsp; MSS Window irtt Iface<br />192.168.21.0&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 wlan0<br />192.168.122.0&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.0&nbsp;&nbsp; U&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 virbr0<br />default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.21.1&nbsp;&nbsp;&nbsp; 0.0.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 wlan0<br /><br />[yeger@yeger ~]$ netstat -i&nbsp;&nbsp; 查看网络接口状态<br />Kernel Interface table<br />Iface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MTU Met&nbsp;&nbsp;&nbsp; RX-OK RX-ERR RX-DRP RX-OVR&nbsp;&nbsp;&nbsp; TX-OK TX-ERR TX-DRP TX-OVR Flg&nbsp;&nbsp;&nbsp;&nbsp; <br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1500&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 BMU<br />lo&nbsp;&nbsp;&nbsp;&nbsp; 16436&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 230&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 230&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 LRU<br />virbr0&nbsp;&nbsp;&nbsp;&nbsp; 1500&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 BMRU<br />wlan0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1500&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 10546&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 7060&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 BMRU<br />wmaster0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 RU<br />[yeger@yeger ~]$</font></span></span></p>
<p style="margin-bottom: 0cm"><span style="color: #274e13"><font size="2"><span style="font-size: small"><strong>MTU</strong><strong>字段：</strong>表示最大传输单元，即网络接口传输数据包的最大值。 </span><br /><span style="font-size: small"><strong>Met</strong></span><span style="font-size: small"><strong>字段：</strong>表示度量值，越小优先级越高。 </span><br /><span style="font-size: small"><strong>RX-OK/TX-OK</strong></span><span style="font-size: small"><strong>：</strong>分别表示接收、发送的数据包数量。 </span><br /><span style="font-size: small"><strong>RX-ERR/TX-ERR</strong></span><span style="font-size: small"><strong>：</strong>表示接收、发送的错误数据包数量。 </span><br /><span style="font-size: small"><strong>RX-DRP/TX-DRP</strong></span><span style="font-size: small"><strong>：</strong>表示丢弃的数量。 </span><br /><span style="font-size: small"><strong>RX-OVR/TX-OVR</strong></span><span style="font-size: small"><strong>：</strong>表示丢失数据包数量。</span></font></span></p>
<p style="margin-bottom: 0cm"><span style="font-size: small"><span><font size="2">[yeger@yeger ~]$ nslookup www.baidu.com 测试域名解析<br />Server:&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 202.96.128.86<br />Address:&nbsp;&nbsp;&nbsp; 202.96.128.86#53<br /><br />Non-authoritative answer:<br />www.baidu.com&nbsp;&nbsp;&nbsp; canonical name = www.a.shifen.com.<br />Name:&nbsp;&nbsp;&nbsp; www.a.shifen.com<br />Address: 119.75.218.45<br />Name:&nbsp;&nbsp;&nbsp; www.a.shifen.com<br />Address: 119.75.218.45<br /></font></span></span></p>
<p style="margin-bottom: 0cm"><span>百度的IP地址是：119.75.218.45</span></p><img src ="http://www.cppblog.com/blueskiner/aggbug/186309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/blueskiner/" target="_blank">卡洛shll</a> 2012-08-05 02:06 <a href="http://www.cppblog.com/blueskiner/archive/2012/08/05/186309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS 修改IP地址, DNS, 网关</title><link>http://www.cppblog.com/blueskiner/archive/2012/08/05/186308.html</link><dc:creator>卡洛shll</dc:creator><author>卡洛shll</author><pubDate>Sat, 04 Aug 2012 18:05:00 GMT</pubDate><guid>http://www.cppblog.com/blueskiner/archive/2012/08/05/186308.html</guid><wfw:comment>http://www.cppblog.com/blueskiner/comments/186308.html</wfw:comment><comments>http://www.cppblog.com/blueskiner/archive/2012/08/05/186308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/blueskiner/comments/commentRss/186308.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/blueskiner/services/trackbacks/186308.html</trackback:ping><description><![CDATA[<p align="right">&nbsp;</p>
<p><strong>一、CentOS 修改IP地址</strong></p>
<p>修改对应网卡的IP地址的配置文件<br /><strong># vi /etc/sysconfig/network-scripts/ifcfg-eth0</strong></p>
<p>修改以下内容</p>
<div class="hl-surround">
<div class="hl-main">DEVICE=eth0 #描述网卡对应的设备别名，例如ifcfg-eth0的文件中它为eth0<br />BOOTPROTO=static #设置网卡获得ip地址的方式，可能的选项为static，dhcp或bootp，分别对应静态指定的 ip地址，通过dhcp协议获得的ip地址，通过bootp协议获得的ip地址<br />BROADCAST=192.168.0.255 #对应的子网广播地址<br />HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址<br />IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定，此字段就指定了网卡对应的ip地址<br />IPV6INIT=no<br />IPV6_AUTOCONF=no<br />NETMASK=255.255.255.0 #网卡对应的网络掩码<br />NETWORK=192.168.1.0 #网卡对应的网络地址<br />ONBOOT=yes #系统启动时是否设置此网络接口，设置为yes时，系统启动时激活此设备</div></div>
<p><strong>二、CentOS 修改网关</strong><br />修改对应网卡的网关的配置文件<br />[root@centos]# vi /etc/sysconfig/network </p>
<p>修改以下内容<br />NETWORKING=yes(表示系统是否使用网络，一般设置为yes。如果设为no，则不能使用网络，而且很多系统服务程序将无法启动)<br />HOSTNAME=centos(设置本机的主机名，这里设置的主机名要和/etc/hosts中设置的主机名对应)<br />GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如，网关为10.0.0.2)</p>
<p><strong>三、CentOS 修改DNS</strong></p>
<p>修改对应网卡的DNS的配置文件<br /><strong># vi /etc/resolv.conf</strong><br />修改以下内容</p>
<div class="hl-surround">
<div class="hl-main">nameserver 8.8.8.8 #google域名服务器<br />nameserver 8.8.4.4 #google域名服务器</div></div>
<p>四、重新启动网络配置<br /><strong># service network restart</strong><br />或<br /><strong># /etc/init.d/network restart</strong></p>
<p><strong>修改 IP 地址</strong><br />即时生效:<br /><strong># ifconfig eth0 192.168.0.2 netmask 255.255.255.0</strong><br />启动生效:<br />修改 <strong>/etc/sysconfig/network-scripts/ifcfg-eth0</strong></p>
<p><strong>修改网关 Default Gateway</strong><br />即时生效:<br /><strong># route add default gw 192.168.0.1 dev eth0</strong><br />启动生效:<br />修改 <strong>/etc/sysconfig/network</strong></p>
<p><strong>修改 DNS</strong><br />修改<strong>/etc/resolv.conf</strong><br />修改后可即时生效，启动同样有效</p>
<p><strong>修改 host name</strong><br />即时生效:<br /><strong># hostname centos1</strong><br />启动生效:<br />修改<strong>/etc/sysconfig/network</strong></p>
<p align="right">&nbsp;</p><img src ="http://www.cppblog.com/blueskiner/aggbug/186308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/blueskiner/" target="_blank">卡洛shll</a> 2012-08-05 02:05 <a href="http://www.cppblog.com/blueskiner/archive/2012/08/05/186308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>