论坛风格切换切换到宽版
  • 1369阅读
  • 7回复

[问题求助][img]http://linux.chinaunix.net/bbs/images/default/src_jh.gif[/img]基于策略路由的IP地址控制 [复制链接]

上一主题 下一主题
离线yylqymzk.
 
发帖
2146
C币
-131837
威望
395
贡献值
1
银元
-2
铜钱
4823
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
基于策略路由的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]

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线h1821388.
发帖
2209
C币
-235179
威望
414
贡献值
1
银元
-6
铜钱
4968
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
我感觉只要硬件稳定性够,网卡插槽够,完全可以做一个跑 NAT 的核心交换

离线kawayiyi.
发帖
2126
C币
-60558
威望
397
贡献值
1
银元
-2
铜钱
4789
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
好贴!顶!

发帖
2044
C币
-553822
威望
381
贡献值
2
银元
-1
铜钱
4438
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
写得很好,考虑得也很周密。
但普通PC的网卡性能有限,你有没有试过同事有100-200台计算机要求这个LINUX网关交换数据包,没有吧,我可以说,就算你用的是3COM的网卡,基本上也无法负荷。
而用到如此浮动路由网络环境的企业一般也不会考虑用一台PC作为gateway来实现以上功能,所以在商业应用中的实际价值有限,对爱好者的实验环境来说是个好的方法。
不过还是佩服你得水平

离线zymxs.
发帖
2008
C币
-193636
威望
349
贡献值
1
银元
-4
铜钱
4362
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
看来PC就是PC呀

离线icelee.
发帖
2030
C币
-262745
威望
411
贡献值
1
银元
-1
铜钱
4655
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
申请此帖进精华,此法可以给中小企业的网管们多一个价廉物美的选择。

离线newgame.
发帖
2122
C币
-60701
威望
365
贡献值
1
银元
-1
铜钱
4624
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
[quote]原帖由 "andyliu"]此法可以给中小企业的网管们多一个价廉物美的选择。[/quote 发表:

为什么呢?

离线samual142.
发帖
2122
C币
-60236
威望
412
贡献值
1
银元
-1
铜钱
4815
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
其实LINUX中的ip rule相当于CISCO router的策略路由。
用PC代替专业路由器节约了成本,这就考虑到底是银子重要还是性能重要了。

“这里,我们还可以做一个小技巧,不告诉别人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:21 ”
这个方法好像更简单些,起码解释起来方便,而且画拓扑图也好画些。不过192.168.10.xx网段里如果还有其他机器也要你开放FTP服务,用NAT的方法就无法实现了。
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个