A-A+

LINUX软路由限速的方法和命令行

2015年11月26日 站长资讯 暂无评论

linux下的iptables是一个非常优秀的路由软件。要实现路由功能我们首先要开启内核的转发功能。以下代码以centos6为例:

实验环境:

centos6通过固定IP上网。双网卡,其中eth1为内网卡地址为192.168.1.1。eth2为外网卡地址以202.106.0.20代替

1. 开启内核转发。

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

2. 为自己实际环境的内网子网添加静态路由

vim /etc/sysconfig/static-routes

any net 192.168.2.0/24 gw 192.168.2.1

具体的路由条目以自己公司的实际情况为主

3. 利用iptables的nat功能实现内网地址伪装。

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 202.106.0.20

至此我们的一台linux网关已经准备完毕可以上网了。

4.内网服务器映射(映射内网的SSH服务到公网)

iptables -t nat -A PREROUTING -d 202.106.0.20 -p tcp --dport 22 -j DNAT --to 192.168.1.3

5.限速(以给市场部限速为例)

  1. iptables -F  
  2. iptables -t nat -F  
  3. shichang_rate=150/second  
  4. iptables -N SHICHANG  
  5. iptables -A SHICHANG -m hashlimit --hashlimit $shichang_rate --hashlimit-burst 512 --hashlimit-mode dstip --hashlimit-name shichang -j ACCEPT  
  6.   
  7. for ((i = 1; i < 253; i++))    
  8. do  
  9. iptables -A FORWARD -d 192.168.2.$i -j SHICHANG  
  10. done  
  11. iptables -A SHICHANG -d 192.168.2.0/24 -j DROP  

至此一台可以限速的linux网关完成了。后期的其他安全设置。可以参考其他资料。

标签:

给我留言