网站建设服务器
LINUX网络配置
一些配置文件:
/etc/services:服务名称和端口配置文件
/etc/hosts:最早的主机名对应的ip的配置文件。
很多人提到更改主机名首先想到的是修改/etc/hosts文件,认为主机名的配置文件就是/etc/hosts。其实不是的。
Hosts文件的作用类似于dns,提供IP地址和主机名之间的对应关系。早期的互联网电脑很少,单机hosts文件足以存储所有联网的电脑。然而,随着互联网的发展,这是不够的。于是出现了分布式DNS系统。DNS服务器提供类似的IP地址到域名的对应关系。具体来说,男主人。
Linux系统将在向DNS服务器发送域名解析请求之前查询/etc/hosts文件。如果其中有相应的记录,它将使用主机中的记录。/etc/hosts文件通常包含以下记录:
127.0.0.1本地主机.本地域本地主机
Hosts文件格式是每行一条记录,即IP地址主机名别名,用空白字符分隔,别名是可选的。
127.0.0.1建议不要将文章修改为localhost,因为很多应用会用到这个,比如sendmail,修改后这些程序可能无法正常工作。
修改主机名后,如果希望在这台计算机上使用新主机名来访问它,必须在/etc/hosts文件中添加新主机名的记录。例如,我的eth0的IP地址是192.168.1.61,因此我将hosts文件修改如下:
#主机名blog.infernor.net
#卡特彼勒/etc/主机
127.0.0.1本地主机.本地域本地主机
blog.infernor.net博客
这样,我可以通过博客或blog.infernor.net访问这台电脑。
从上面可以看出,/etc/hosts与设置主机名没有直接关系。只有当您想在这台机器上使用新的主机名来访问自己时,才使用/etc/hosts文件。两者之间没有必然联系。
RHEL,还有一个问题。
我开始测试的时候只修改了/etc/hosts添加了192 . 168 . 1 . 61 blog.infernor.net博客,而/etc/sysconfig/network保持不变,也就是里面的HOSTNAME=localhost.localdomain。重启系统后,我发现主机名被改成了blog.infernor.net。这样看来,我真的认为/etc/hosts是hostname的配置文件了。最后,在启动脚本/etc /etc/rc.d/rc.sysinit中发现了问题
主机名从一开始就在rc.sysinit文件中设置。
if[-f/etc/sys config/network];然后。/etc/sysconfig/network
船方不负担装货费用
if[-z $ HOSTNAME-o $ HOSTNAME=(none)];然后
主机名=本地主机
船方不负担装货费用
确实使用了/etc/sysconfig/network中的主机名值。但是,还有一段是关于设置hostname的。
ipaddr=
if[$ HOSTNAME=localhost-o $ HOSTNAME=localhost . local domain]
;然后
IP addr=$(IP addr show to 0/0 scope global | awk \ \ \ '/[[:space:]]inet
/{打印gensub(/。*,g,$2) }\\\ ')
if[-n $ IP addr];然后
eval $(ipcalc-h $ IP addr 2/dev/null)
主机名${HOSTNAME}
船方不负担装货费用
船方不负担装货费用
该脚本确定主机名是localhost还是localhost.localdomain。如果是,则与接口的IP地址对应的主机名将用于重置系统的主机名。这就是问题所在。my /etc/sysconfig/network的默认主机名是localhost.localdomain,eth0的IP是192.168.1.61,在/etc/hosts中有192.168.1.61的记录。所以我用192.168.1.61的记录替换了主机名。
估计这也是很多人把/etc/hosts误认为hostname的配置文件的原因。
带选项查询的主机名
Hostname的-s -f -i和其他选项都在/etc/hosts或DNS系统中使用。和我们讨论的主机名有点远,很容易产生误解。有关详细信息,请参见man hostname。
总结修改主机名的最安全方法:
1.停止运行与主机名相关的软件,比如mysql。
2.首先用hostname newname设置主机名。
3.在/etc/hosts中修改或添加ip newname行,检查原行127.0.0.1中localhost loop的设置。
4.在/etc/sysconfig/network中修改HOSTNAME=newname。
5.重启机器,确认修改是否成功。
============================================================================
/etc/sysconfig/network
$ cat /etc/sysconfig/network
联网=是是否启动网络?
主机名=cloudweb26.idc1.haodf.net主机名。
网络_ IPV6=否
============================================================================
/etc/resolv.conf:本地DNS解析
它是一个DNS客户端配置文件,用来设置DNS服务器的IP地址和DNS域名,还包括主机的域名搜索顺序。该文件是域名解析器使用的配置文件,域名解析器是一个根据主机名解析IP地址的库。它的格式很简单,每行以一个关键字开始,后面是一个或多个参数,用空格分隔。
resolv.conf有四个主要关键字,即:
Nameserver //定义DNS服务器的IP地址。
Domain //定义本地域名。
Search //定义域名的搜索列表。
Sortlist //对返回的域名进行排序。
我们举一个/etc/resolv.conf的例子:
名称服务器
名称服务器10.1.0.88
搜索idc1.baidu.netbaidu.net
选项单-请求-重新打开
主要的关键字是名称服务器。如果未指定名称服务器,则无法找到DNS服务器。其他关键字是可选的。
Nameserver是指解析域名时,该地址指定的主机就是域名服务器。其中,域名服务器按照它们在文件中出现的顺序进行查询,只有在第一个名称服务器没有响应的情况下才查询后面的名称服务器。
搜索它的多个参数表示域名查询的顺序。当要查询没有域名的主机时,将在search声明的域中单独搜索主机。
Domain声明主机的域名。很多程序都用它,比如邮件系统;当对没有域名的主机进行DNS查询时,也使用它。如果没有域名,将使用主机名,第一个点(.)将被删除。
域和搜索不能共存;如果两者都存在,将使用后者。
Sortlist允许您以特定的方式对域名结果进行排序。它的参数是网络/掩码对,允许任何顺序。
“搜索域名. com”是指当提供不包含完整域名的主机名时,在主机名后面加上域名. com的后缀;“名称服务器”是指解析域名时,该地址指定的主机是域名服务器。其中,域名服务器是按照它在文件中出现的顺序进行查询的。
其中域名和搜索可以同时存在,也可以只存在一个;名称服务器可以指定多个。
=============================================
/etc/nsswitch.conf:这个文件在“决定”之前应该使用/etc/hosts或者/etc/resolv.conf的设置!
============================================================================
# cat/etc/sys config/network-scripts/if CFG-eth 0
DEVICE=eth0网卡名称
hwaddr=00:0c:29:DD:83:D4网卡的MAC地址,这些地址与网卡设备ROM中的固定地址一一对应。
类型=以太网
ONBOOT=yes这些设备是否随操作系统启动而激活?
NM_CONTROLLED=yes MM是NetworkManger的简称,建议设置为No。
BOOTPROTO=静态启动协议:{none|static|dhcp|bootp}
手动静态动态动态
网络掩码=255.255.255.0
IPADDR=192.168.2.24
网关=192.168.2.1
USERCTL=no是否允许普通用户管理界面,no表示否。
PEERDNS=yes是否允许DHCP服务器提供的DNS服务器地址覆盖本地/etc/resolv.conf文件?
IPV6INIT=否是否使用IPv6。
IPV6_AUTOCONF=yes自动配置IPV6。
以下命令可以取出ip
# ifconfig eth 0 | grep inet addr | awk-F[:]\ \ \ ' { print $ 4 } \ \ \ '
192.168.2.100
============================================================================
常见网络命令:
1: host:这个命令可以用来找出主机名的IP!例如,当我们想知道www.baidu.com的IP时,我们可以这样做:
主持人-www.baidu.com
东道主www.baidu.com
-a:显示所有DNS信息。
-v:显示指定的详细信息。
检查的原则是基于这台机器/etc/resolv.conf中指定的DNS的ip。
2.2:nslookup命令是一个常用的域名查询工具,也就是搜索DNS信息的命令。
Nslookup有两种工作模式,即“交互模式”和“非交互模式”。
在“交互模式”下,用户可以从域名服务器查询各种主机和域名的信息,或者输出域名中的主机列表。进入交互模式,直接输入nslookup命令,直接进入交互模式,不添加任何参数。
在“非交互模式”下,用户只能获得特定名称或所需的主机或域名信息。
# www.baidu.com
此时,nslookup将连接到默认域名服务器(即/etc/resolv.conf的第一个dns地址)。
3:挖掘
挖【选项】FQDN[@服务器]
选项和参数:
@server:如果不使用/etc/resolv.conf的设置作为DNS查询,可以在这里填写其他IP。
选项:相关参数很多,其中trace、-t type和-x是最常用的。
Trace:即从跟踪开始,
-t型:查询的数据主要有mx、ns、soa等。
-x:查询逆解信息,很重要的项目!
#挖掘linux.vbird.org
;挖9 . 7 . 0-P2-红帽-9.7.0-5。p2 . el6 _ 0.1 linux.vbird.org
;全局选项:cmd
;得到答案:
;-HEADER- opcode:查询,状态:NOERROR,id: 37415
;旗帜:qr rd ra查询:1,回答:1,权威:2,附加:0
;问题部分:==提出问题的部分。
;linux.vbird.org。在一个
;答题部分:==主答题阶段
linux.vbird.org。600英镑一辆140.116.44.180
;权威部分:==与本答案相关的其他部分。
vbird.org。dns.vbird.org北部600人。
vbird.org。dns2.vbird.org北部600人。
;查询时间:9毫秒
;服务器:168.95.1.1#53(168.95.1.1)
;时间:2011年8月4日星期四14时12分26秒
;消息大小rcvd: 86
#挖linux.vbing.org @ 114 . 114 . 114 . 114
#挖掘linux.vbird.org
#挖掘SOA linux.vbird.org
逆解:
#挖掘x 120.114.100.20
问题:显示要查询的内容,因为我们查询的是linux.vbird.org的IP,所以这里显示的是a(地址);
答案:根据刚才提问的结果,答案是答IP!
权威:从这里我们可以知道哪个DNS服务器提供了linux.vbird.org的答案!结果由两个主机管理,dns.vbird.org和dns2.vbird.org。另外,那600算什么?图19.1-4中提到的过程是指允许查询者保留这个记录(缓存)多长时间。在linux.vbird.org的设置中,默认可以保持600秒。
4:ifconfig
# ifconfig { interface } { up | down }==观察并启动接口
# ifconfig interface {options}==设置和修改接口
选项和参数:
接口:网卡的接口代码,包括eth0、eth2、ppp0等。
选项:可以连接的参数,包括:
Up,down:启动(up)或关闭(down)网络接口(不涉及参数)。
Mtu:可以设置不同的MTU值,比如mtu 1500(以字节为单位)。
网络掩码:是子屏蔽网络;
广播:是广播地址!
# ifconfig -a显示所有接口,包括活动接口。
# ifconfig eth0 192.168.100.100网络掩码255.255.255.128
5:ifup,ifdown
使用ifconfig可以实时手动修改一些网络接口参数。如果要直接用配置文件启动,也就是/etc/sysconfig/network-scripts中ifcfg-ethx等文件的设置参数,必须通过ifdown或ifup来实现。
# ifup eth0
# ifdown eth0
6:路线
#路线[-需要]
# route add[-net |-host][域或主机]网络掩码[mask] [gw|dev]
# route del[-net |-host][域或主机]网络掩码[mask] [gw|dev]
观察参数:
-n:不使用通信协议或主机名,只使用IP或端口号;
-ee:显示更详细的信息。
添加(Add)和删除(del)路线的相关参数:
-net:表示下列路由是一个域;
-host:表示它后面是连接到单个主机的路由;
网络掩码:与域相关,可以设置网络掩码来确定域的大小;
gateway的简称,后面是IP的值,和dev不一样;
Dev:如果你只想指定连接的是哪个网卡,就用这个设置,后面跟着eth0等等。
目的地,Genmask:这两个小工具分别是network和netmask!所以这两个击鼓组合成一个完整的域!
网关:域通过哪个网关连接?如果显示0.0.0.0,说明路由是本地机直接发送的,即可以通过局域网的MAC直接发送;如果显示IP,说明路由需要路由器(网关)的帮助才能传输。
标志:总共有多个标志,分别代表以下含义:
u(路由启动):路由启动;
h(目标是主机):目标是主机(IP)而不是域;
g(使用网关):数据包需要通过外部主机(网关)转发;
r(用于动态路由的恢复路由):当使用动态路由时用于恢复路由信息的标志;
d(由守护进程或重定向动态安装):已设置为由服务或端口转移功能动态路由。
m(从路由守护进程或重定向修改):路由已被修改;
!(拒绝路由):此路由将不被接受(抵制不安全域!)
Iface:用于路由数据包的接口。
———————————————————————
7:traceroute[选项和参数] IP
选项和参数:
-n:不需要解析主机名称,用IP就行,速度更快!
-U:使用UDP端口33434进行检测,这是默认的检测协议;
-I:使用ICMP进行检测;
-T:检测用TCP,一般用80口测试。
-w:如果对方主机在几秒钟内没有响应,就会被宣告死亡……默认是5秒。
-p端口号:如果不想使用UDP和TCP的默认端口号进行检测,可以在这里更改端口号。
-i device:在复杂环境下使用,这个参数只有在你的网络接口复杂的情况下才会用到;
例如,如果您有两个ADSL可以连接到外部,那么您的主机将有两个ppp。
可以用-i来选择ppp0或者ppp1!
-g路由:类似于-i的参数,只是-g后面跟网关的IP。
#示例1:检测本地去往www.xx.com的节点的连接状态。
[root @ www ~]# traceroute-n www.xx.com
到www.xx.com(119 . 160 . 246 . 241)的跟踪路由,最大30跳,40字节数据包
1 192 168 1 254 0.279毫秒0.156毫秒0.169毫秒
2 172.20.168.254 0.430毫秒0.513毫秒0.409毫秒
3 10.40.1.1 0.996毫秒0.890毫秒1.042毫秒
4 203.72.191.85 0.942毫秒0.969毫秒0.951毫秒
5 211.20.206.58 1.360毫秒1.379毫秒1.355毫秒
6 203.75.72.90 1.123毫秒0.988毫秒1.086毫秒
220.128.24.22 11.238毫秒11.179毫秒11.128毫秒
8 220.128.1.82 12.456毫秒12.327毫秒12.221毫秒
9 220.128.3.149 8.062毫秒8.058毫秒7.990毫秒
10 * * *
11 119.160.240.1 10.688毫秒119.160.240.3 10.590毫秒10.047毫秒
1.记录按照序号从1开始,每条记录为一跳,每一跳代表一个网关。我们看到每一行有三个时间,单位是ms,实际上是-q的默认参数,探测包向每个网关发送三个包后,网关响应后返回的时间;如果您使用traceroute-Q4 www.xx.com,这意味着向每个网关发送4个数据包。
2.有时当我们跟踪一个主机时,我们会看到一些行用星号表示。在这种情况下,可能是防火墙屏蔽了ICMP的返回信息,所以我们无法获得任何相关的数据包返回数据。
3.有时我们在一个网关上有很长的延迟,这可能是由于网关的拥塞或物理设备本身。当然,如果一个DNS出现问题,无法解析主机名和域名,也会有很长的延迟;您可以添加-n参数来避免DNS解析,并以IP格式输出数据。
4.如果局域网中存在不同的网段,我们可以使用traceroute找出问题所在,无论是主机还是网关。如果我们在远程访问服务器时遇到问题,我们使用traceroute跟踪数据包经过的网关,并提交给IDC服务提供商,这也将有助于解决问题。
目前UDP/ICMP * *层出不穷,所以很多路由器可能会取消这两个包的响应功能。所以我们可以用TCP来检测哟!例如,使用相同的方法,等待时间为1秒,TCP 80端口,您可以这样做:
# www.xx.com北部追踪路线
8:netstat命令
通用参数
-a(全部)显示所有选项,默认情况下不显示与监听相关的选项。
-t (tcp)仅显示与tcp相关的选项。
-u (udp)仅显示与udp相关的选项。
-n拒绝显示别名,可以显示所有转换成数字的数字。
-我只监听服务状态。
-p显示建立相关链接的程序的名称。
-r显示路由信息,路由表。
-e显示扩展信息,如uid等。
-s根据每个协议的统计数据。
-c定期执行netstat命令。
列出所有端口netstat -a
列出所有tcp端口netstat -at
列出所有udp端口
仅显示监听端口netstat -l l。
仅列出所有监听的tcp端口
仅列出了所有侦听udp端口netstat -lu。
仅列出所有正在监听的UNIX端口。
显示所有端口的统计数据
显示TCP或UDP端口netstat -st或netstat -su的统计信息。
显示核心路由信息
显示当前启动的网络服务netstat -tunlp。
显示所有当前启动的网络服务。
netstat -an参数中stat的含义如下:
侦听:侦听来自远程TCP端口的连接请求;
SYN-SENT:发送连接请求后等待匹配的连接请求;
SYN-RECEIVED:接收并发送连接请求后,等待对方确认连接请求;
ESTABLISHED:代表一个开放的连接,我们常用它作为并发连接数;
FIN-WAIT-1:等待远程TCP连接中断请求或之前连接中断请求的确认;
FIN-WAIT-2:等待远程TCP的连接中断请求;
CLOSE-WAIT:等待本地用户发送的连接中断请求;
关闭:等待远程TCP确认连接中断;
LAST-ACK:等待对远程TCP的原始连接中断的确认;
TIME-WAIT:等待足够的时间,确保远程TCP连接收到中断请求的确认;
关闭:没有连接状态;
在日常工作中,我们可以使用shell组合命令查看服务器的TCP连接状态,并进行汇总。该命令如下所示:
netstat-an|awk\\\'/^tcp/{ s[$ nf]} end { for(ains)printa,S[a]}\\\ '
参数描述:
关闭:没有连接活动或正在进行中;
监听:服务器正在等待的来电;
SYN_RECV:一个连接请求已经到达,等待确认;
SYN_SENT:应用程序已经启动,打开一个连接。
ESTABLISHED:正常数据传输状态,也可以近似理解为当前服务器的并发数;
FIN_WAIT1:申请已完成;
FIN_WAIT2:对方同意放行;
ITMED_WAIT:等待所有数据包死亡;
关闭:双方同时尝试关闭;
TIME_WAIT:对方已经发起释放;
LAST_ACK:等待所有数据包死亡;
计算TCP连接数的命令:
netstat-an|grep\\\ '已建立\\\'|grep\\\'tcp\\\'|wc-l
[root @ centos ~]# vim/etc/security/limits . conf
*硬文件65535
*软nofile 65535
/etc/rc .本地
Ulimit -SHn 65535直接写入/etc/rc.local。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。