基于策略路由的IP地址控制
========================================================.============.=======投资
最近做了一套路由策略,觉得LINUX真的太强大了!于是心潮澎湃,写了这.个.文档!!!电影
一、背景描述
如图,LINUX是一台网关服务器,.内有3块网卡投资
e.th1绑定 172.17.0.0/16 的IP,该网段.IP可以通过 172.17.1.1 上网.
eth0绑定 192.168.10.0/24 的IP.,该网段I.P可以通过 192.168.10.1 上网 建材
e.th2绑定 192..168.1.1,是内网用户的网关 鲜花
二、需求分析
内网用户应该.走 172.17.1.1 这个路由上网学习
但由于工作需要,部分用户.应该有访问图中“专用网络”的权限.电脑
也就是说,应该走 192..168..10.1 这个路由 电子
另外一点,所有人应该可以访问.FTP服务器,这.个服务器的IP是 192.168.10.xx投资
也就是说,走 172.17.1.1 路由的人,也应该能.访问 19.2.168.10.xx,且可以上网虚拟主机
三、解决方案
要解决这个问题,用到了一下几个.命令,具体.使用方法需要另查资料.
ip route
ip rule
arp
注:关于. ip 命令的用法,请查.阅ip中文手册,
www.google.com 上有.
1、绑定IP
ifconfig eth1 172.17.3.x .netma.sk 255.255.0.0.
ifconfig eth0 192.168.10.2. netmask 2.55.255.255.0.
ifconfig eth2 192.168..1.1 netmask 25.5.255.255.0.
然后分别修改 /etc/sy.sconfig/network-script/.ifcfg-ethx 文件,以使计算机启动自动设置IP地址 电子
2、创建特殊路由表
vi /etc/iproute2/.rt_table.
#
# re.served values( 游戏 )
#
255 local
254 main
253 d.efault虚拟主机
0 unspec
200 NET10
#
# local
#
#1 i.nr.ruhep.
复制代码
上面那个 200 NE.T10 为.新添加,自定义编号为 200,名字为 NET10域名
3、向NET10 路由.中添加它自己的默认路由 婚庆
ip route add default .via 192.168.10.1 tabl.e NET10投资
复制代码
注意,这个 tabl.e NET10 一定.不要忘了写,否则写到了主路由表中
4、创建特殊路由规则
用 .ip rule 可以看到计算机当前的路由规则 外汇
QUOT.E:0: . from all lookup local.
32766.: .from all lookup main 汽车
32767.: from all lookup def.ault.
可以看到,.规则中走了3个路由表,local、.main、default( 游戏 )
我们平常用route看到的,实际.是路由表main.
这些.规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止..
开始添加我们自己的路由NET10到.路由表中 鲜花
ip rule add from 192.1.68..1.222 pref 10000 table NET10服务器
复制代码
这个意思是说,如果来自I.P地址为 192.168.1.222 的访问,则启用NET10的路由表.中的路由规则 外汇
而NET10的路由规则是什么呢?上面已经设置了,走的是 1..92.168.10.1 的网段 乙肝
接下来,使 LINUX 可以 .NAT(这里不再细说 HOW TO. 了) 乙肝
5、让所有人可以访问 192.168.10.xx(这个.IP.不便说出来) 女人
因为其余人都.走了 172.17.1.1 这个路由,所以他们是无法访问 192.168.10..xx 的域名
怎么才能实现呢.?再添加个策略就可以了! 建材
ip r.ule add to 192.168.10.xx pref 10001 t.able NET10教育
复制代码
这句话的意思是说,所有人,如果目的I.P是 192.168.10.xx,则临时使用 NET1.0 的路由表.
这样做,安全会不会有安全问题呢?路由变了,他们会不.会访.问到专用网络呢?外贸
不会的,因为路由规.则是 to 192.168.10.xx,也就是.目标是 xx 时,才该路由的,访问别的网站还是走原来的路由。--- 印刷
如果说.访.问到专用网络的机器,也就只有10.xx这一台而已。 美容
这里.,我们还可以做一个小技巧,不告诉别人 192.168.10.xx 的地址,只告诉他们网关 192.168.1.1 上有这个.服务.
iptables -t nat -A PREROUTING -d 192.168.1.1./32 --dport 21 -j. DNAT --to 192.168..10.xx虚拟主机
6、防止其.他人篡改IP地址而获得特殊权限 鲜花
arp有个静态功能 CM,不是 C,.大家可能知道(广告)
如果给一个IP地址.强行绑定一个非他自己的 MAC.,会怎么样呢?双方会话将会失败!健康
好,我们来利用这一点!
首.先,我写了一个文件iproute.c 乙肝
#.include <stdlib.h>.
#include .<stdio.h>( 游戏 )
main ()
{
int i;
.for(i=2;i<255;i++).虚拟主机
printf("192.168.1.%d\t\t00:00:00:00:.0.0:00\n",i); 鲜花
}
复制代码
gcc iproute..c -o iproute--------------彩票
将编译出一个可执行文件
注:不应该包括主机IP地址本身,所以.从 2 循环到 254(255 .是广播).
其次,生成一个 C 的 IP 地.址和.全为 00 的 MAC 地址 健康
# ./iproute > /.etc/ethers电脑
复制代码
tips.: .上面的方法写于不会 shell 时候的我,利用 bash 的特性可以很简单的将上面步骤简化为 乙肝
# 修改.于 2005.10.24<性病>
# for((i=2;i<=254;i++));.do echo -e ".192.168.1.$i\t00:00:00:00:00:00.";done > /etc/ethers 健康
复制代码
再次,修改IP.-MAC匹配列表教育
vi /etc/ethers
具体怎么该.我就不用细说了,相信大家都会( 游戏 )
最后,做.静态 IP-MAC 绑定.
arp -f
7、为了安全,.建立防火墙,修改main路由表 女人
默认的路由表应该有 192.168.10.0/24 和 172.1.7.0.0/16. 网段的内容,为了安全,可以去掉服务器
另外,如果是AS3的话,还会有. 16.9.254.0.0/16 的路由,具体为什么我不知道,去掉健康
然后写一个防火墙教本,利用iptab.les,把你的机器.变得更加坚固!电影
好了,终于写完了!
昨.天和好好先生聊天,他说了一句话让我深有感触!.
“任何东西只要你能活学活用,它.的功能都会很强大!”<性病>
同志们,努力吧!
[ 本帖最.后由 platinum 于 2006-10-13 12:43 编.辑 ].
ne.t.jpg (14.6 KB) 鲜花
下载次数:71
2004-04-1.4 16:56 美容
网络拓扑图
http://upload.bbs.csuboy.com/Mon_1004/126_6793_defb76815f9a8b9.jpg[/img]