Linux下基于路由策略的IP地址控制实例[2]
文章作者 100test 发表时间 2007:05:07 16:00:44
来源 100Test.Com百考试题网
  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 
  #include 
  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,把你的机器变得更加坚固!