分享
 
 
 

基于路由策略的IP地址控制

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

基于路由策略的IP地址控制

作者:白金 网名:platinum(chinaunix) 超超白金(白金论坛)

欢迎转载,转载请保留上述信息

===========================================================================

最近做了一套路由策略,觉得LINUX真的太强大了!于是心潮澎湃,写了这个文档!!!

一、背景描述

如图,LINUX是一台网关服务器,内有3块网卡

eth1绑定172.17.0.0/16的IP,该网段IP可以通过172.17.1.1上网

eth0绑定192.168.10.0/24的IP,该网段IP可以通过192.168.10.1上网

eth2绑定192.168.1.1,是内网用户的网关

二、需求分析

内网用户应该走172.17.1.1这个路由上网

但由于工作需要,部分用户应该有访问图中“专用网络”的权限

也就是说,应该走192.168.10.1这个路由

另外一点,所有人应该可以访问FTP服务器,这个服务器的IP是192.168.10.96

也就是说,走172.17.1.1路由的人,也应该能访问192.168.10.96,且可以上网

三、解决方案

要解决这个问题,用到了一下几个命令,具体使用方法需要另查资料

ip route

ip rule

arp

注:关于ip命令的用法,请查阅ip中文手册,www.google.com上有

1、绑定IP

ifconfig eth1 172.17.3.x netmask 255.255.0.0

ifconfig eth0 192.168.10.2 netmask 255.255.255.0

ifconfig eth2 192.168.1.1 netmask 255.255.255.0

然后分别修改/etc/sysconfig/network-script/ifcfg-ethx文件,以使计算机启动自动设置IP地址

2、创建特殊路由表

vi /etc/iproute2/rt_table

代码:

#

# reserved values

#

255 local

254 main

253 default

0 unspec

200 NET10

#

# local

#

#1 inr.ruhep

上面那个200 NET10为新添加,自定义编号为200,名字为NET10

3、向NET10路由中添加它自己的默认路由

代码:

ip route add default via 192.168.10.1 table NET10

注意,这个table NET10一定不要忘了写,否则写到了主路由表中

4、创建特殊路由规则

用ip rule可以看到计算机当前的路由规则

引用:

0: from all lookup local

32766: from all lookup main

32767: from all lookup default

可以看到,规则中走了3个路由表,local、main、default

我们平常用route看到的,实际是路由表main

这些规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止

开始添加我们自己的路由NET10到路由表中

代码:

ip rule add from 192.168.1.222 pref 10000 table NET10

这个意思是说,如果来自IP地址为192.168.1.222的访问,则启用NET10的路由表中的路由规则

而NET10的路由规则是什么呢?上面已经设置了,走的是192.168.10.1的网段

接下来,使LINUX可以NAT(这里不再细说HOW TO了)

5、让所有人可以访问192.168.10.xx(这个IP不便说出来)

因为其余人都走了172.17.1.1这个路由,所以他们是无法访问192.168.10.xx的

怎么才能实现呢?再添加个策略就可以了!

代码:

ip rule add to 192.168.10.xx pref 10001 table NET10

这句话的意思是说,所有人,如果目的IP是192.168.10.xx,则临时使用NET10的路由表

这样做,安全会不会有安全问题呢?路由变了,他们会不会访问到专用网络呢?

不会的,因为路由规则是to 192.168.10.xx,也就是目标是96时,才该路由的,访问别的网站还是走原来的路由。

如果说访问到专用网络的机器,也就只有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:21

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:00:00\n",i);

}

gcc iproute.c -o iproute

将编译出一个可执行文件

注:不应该包括主机IP地址本身,所以从2循环到254(255是广播)

其次,生成一个C的IP地址和全为00的MAC地址

代码:

./iproute > /etc/ethers

再次,修改IP-MAC匹配列表

vi /etc/ethers

具体怎么该我就不用细说了,相信大家都会

最后,做静态IP-MAC绑定

arp -f

7、为了安全,建立防火墙,修改main路由表

默认的路由表应该有192.168.10.0/24和172.17.0.0/16网段的内容,为了安全,可以去掉

另外,如果是AS3的话,还会有169.254.0.0/16的路由,具体为什么我不知道,去掉

然后写一个防火墙教本,利用iptables,把你的机器变得更加坚固!

好了,终于写完了!

昨天和好好先生聊天,他说了一句话让我深有感触!

“任何东西只要你能活学活用,它的功能都会很强大!”

同志们,努力吧!

[myimg]upload/net_27071081932974.png[/myimg]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有