分类: LINUX
2005-05-05 16:47:51
基于路由策略的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中文手册,上有
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 |
代码: |
ip route add default via 192.168.10.1 table NET10 |
引用: |
0: from all lookup local 32766: from all lookup main 32767: from all lookup default |
代码: |
ip rule add from 192.168.1.222 pref 10000 table NET10 |
代码: |
ip rule add to 192.168.10.xx pref 10001 table NET10 |
代码: |
#include #include main () { int i; for(i=2;i<255;i++) printf("192.168.1.%d 00:00:00:00:00:00 ",i); } |
代码: |
./iproute > /etc/ethers |
|
转from: