关于服务器涉及到很多东西,建议成体系的学习下,不然总是记不住白白浪费时间了,
推荐书籍鸟哥私房菜服务器架设篇:
资源内容仅供参考,请在下载后二十四小时内删除:
链接:https://pan.baidu.com/s/1Zw4vVTED50p8jwSLj2WWNQ
提取码:dfgf
我们在第2章网络基础的时候谈过关于路由的问题,两台主机之间一定要有路由才能够_
互通TCP/IP的协议,否则就无法进行连接。-般来说,只要有网络接口,该接口就会产生一
个路由,所以我们安装的主机有一个eth0的接口,情况如下:
[root@www~]# route [-nee]
[root@www -]# route add[-netI-host] [网络或主机] netmask [mask] [gw Idev]
[ root@www ~]# route del [-netl-host] [网络或主机] netmask [mask] [gw Idev]
查看的参数:
-n:不要使用通信协议或主机名,直接使用IP或port number;
-ee :显示更详细的信息
增加(add) 与删除 (del)路由的相关参 数:
-net
;表示后面接的路由为一个网络
-host :表示后面接的为连接到单部主机的路由
netmask :与网络有关,可以设置netmask决定网络的大小
: gateway的简写,后续接的是IP的数值喔,与dev不同
dev
;如果只是要指定由那一块网卡连接出去,则使用这个设置,后面接eth0等
#范例一:单纯的查看路由状态
[root@www~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
[ root@www ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 255.255.255.0 0 0 O eth0
link-local 255.255.0.0 1002 0 eth0
default 192.168.1.254 0.0.0.0 UG 0 0 etho
由.上面的例子当中仔细查看route与route -n的输出结果,你可以发现使用-n参数会
显示出IP,至于只使用route命令,显示的则是“主机名”。也就是说,在默认的情况下,
route会解析出该IP的主机名,如果解析不到呢?其显示会有延迟(有点慢),所以说,鸟
哥通常都直接使用route -n。由上面看起来,我们也知道defaulε= 0.0.0.0/0.0.0.0,而上面的
信息有哪些是你必须要知道的呢?
题Destination、 Genmask: 这两个参数就分别是network与netmask了。所以它们就维
合成为一个完整的网络了。
■Gateway: 该网络是通过哪个Gateway连接出去的?如果显示0.0.0.0表示该路由是
直接由本机传送,也就是可以通过局域网的MAC直接发送;如果显示IP的话,表
示该路由需要经过路由器(网关)的帮忙才能够发送出去。
■Flags: 总共有多个标志,代表的意义如下。
●U (route is up):该路由是启动的。
●H (target is a host):目标是一台主机(IP)而非网络。
●G (use gateway):需要通过外部的主机来传递数据包。
●
R (reinstate route for dynamic routing):使用动态路由时,恢复路由信息的标志。
D (dynamically installed by daemon or redirect):动态路由。
●
M (modified from routing daemon or redirect):路由已经被修改了。
●! (reject route): 这个路由将不会被接受(用来阻止不安全的网络)。
■Iface:这个路由传递数据包的接口。
此外,查看一下上面的路由排列顺序,依序是由小网络(192.168.1.0/24 是Class C) ,
逐渐到大网络(169 254.0.0/16 Class B),最后则是默认路由(0.0.0.0/0.0.0.09 。然后当
我们要判断某个网络数据包应该如何发送的时候,该数据包会经过这个路由表来判断。举例
来说,我上头仅有三条路由,若我有一个发往192.168.1.20 的数据包,那首先会找
192.168.1.0/24这个网络的路由,找到了,就直接由eth0传送出去。
如果是传送到Yahoo的主机呢? Yahoo 的主机IP是119.160.246.241, 我们通过判断
不是192.168.1.0/24,也不是169.254.0.0/16,结果到达0/0时,发送出去了,通过eth0将
数据包发送给192.168.1.254那台Gateway主机。所以说,路由是有顺序的。
因此当你重复设置多个同样的路由时,例如,在你的主机上的两张网卡设置为相同网络
的IP时,会出现什么情况?会出现如下的情况:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref UseIface
192.168.1.0 0.0.0.0 255.255.255.0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 eth1
也就是说,由于路由是依照顺序来排列与传送的,所以不论数据包是由哪个接口(etho.
eth1)所接收,都会由上述的etho传送出去,所以,;在一台主机上面设置两个相同网络的P.
,本身没有什么意义,多此一举。除非是类似虚拟机(Xen、Mware等软件)所架设的多主
机时,才会有这个必要。
#范例二:路由的增加与删除
[root@www ~]# routedel -net 169.254.0.0 netmask 255.255.0.0dev eth0
#上面这个命令可以删除掉169.254.0.0/16 这个网络
#请注意,在删除的时候,需要将路由表上面出现的信息都写入
#包括netmask、dev等参数
[root@www ~]# route add -net 192.168.100.0 \
> netmask 255.255.255.0dev eth0
#通过route add来增加一条路由。请注意,这个路由的设置必须要能够与你的网络互通。
#举例来说,如果我使用下面的命令就会显示错误:
# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
#因为我的主机内仅有 192.168.1.11这个IP,所以不能直接与 192.168.200.254
#这个网段直接使用MAC连接
[root@www ~]# route add default gw 192.168.1.250
#增加默认路由的方法。请注意,只要有一个默认路由就够了
#同样的,那个192.168.1.250的IP也需要能与你的LAN沟通才行
#在这个地方如果你随便设置后,记得使用下面的命令重新配置你的网络
#/etc/init.d/network restart
如果是要进行路由的删除与增加,那就可以参考上面的例子了,其实,使用man-route里e
s面的数据就很丰富了。仔细查阅一下哕。你只要记得,当出现“SIOCADDRT: Networkis
: unreachable”这个错误时, 肯定是由于gw后面接的IP无法直接与你的网络沟通”(Gateways
并不在你的网络内)” ,所以,赶紧检查一下输人的信息是否正确。
一般来说,乌哥如果接触到一个新的环境内的主机,在不想更改原系统配置文
件的情况下,打算使用本书的网络环境设置时,手动的处理就变成运“ifconfig“eth0-
192;168:1:100; route adct default gw-192.1-68.1.254”, 直接联网与测试。等到完成测试
后,再使用: /etc/init.d/network restart恢复原系统的网络即可。