Linux下针对路由功能配置iptables的方法详解

作为公司上网的路由器需要实现的功能有nat地址转换、dhcp、dns缓存、流量控制、应用程序控制,nat地址转换通过iptables可以直 接实现,dhcp服务需要安装dhcpd,dns缓存功能需要使用bind,流量控制可以使用tc,应用程序控制:例如对qq的封锁可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz来实现1、网络规划
操作系统是centos5.82、安装dhcpd
代码如下:
3、安装bind,实现dns缓存
代码如下:
创建根域文件,默认有
代码如下:
创建本地正向解析文件,默认有
代码如下:
创建本地反向解析文件,默认有
代码如下:
检查主配置文件
代码如下:
检查根区域配置文件
代码如下:
检查区域文件
代码如下:
启动服务
代码如下:
4、重新编译编译内核和iptables以支持应用层过滤由于实行防火墙功能的是netfilter内核模块,所以需要重新编译内核,需要下载新的内核源码,并使用netfilter-layer7-v2.22作为内核的补丁一起编译到内核中。而控制netfiler的是iptables工具,因此iptables也必须重新编译安装,最后再安装应用程序过滤特征码库17-protocols-2009-05028.tar.gz
1、给内核打补丁,并重新编译内核2、给iptables源码打补丁,并重新编译iptables3、安装17proto
备份iptables脚本和配置文件
代码如下:
2.6内核下载地址
https://www.kernel.org/pub/linux/kernel/v2.6/
netfilter下载地址
http://download.clearfoundation.com/l7-filter/
iptables源码下载地址
http://www.netfilter.org/projects/iptables/downloads.html
应用程序特征码库下载地址
http://download.clearfoundation.com/l7-filter/
代码如下:
<p>cd /usr/srcln -sv linux-2.6.28.10 linux#进入内核目录</p>
<p>cd /usr/src/linux#为当前内核打补丁</p>
<p>patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.path#为了方便编译内核将系统上的内核配置文件复制过来</p>
<p>cp /boot/config-2.6.18-164.el5 /usr/src/linux/.config
编译内核
代码如下:
在Networking support中选择 Networking options
查找Network packet filtering framework(Netfilter)–>Core Netfiler Configrationg–>Netfilter connection tracking support(NEW),”layer7″ match support(NEW),”time” match support(NEW),”iprange”
查找IP:Netfilter Configuration–>IPv4 connection tracking support,Full NAT(NEW)
代码如下:
重启操作系统选择新内核登录
卸载旧的iptables
代码如下:
安装新的iptables,以支持新的netfiler模块
代码如下:
查看安装后的iptables的文件
代码如下:
复制之前备份的配置文件和脚本
代码如下:
修改脚本中iptables的路径
代码如下:
让iptables服务开机自动启动
代码如下:
修改iptables 配置文件将/etc/sysconfig/iptables-config中的IPTABLES_MODULES=”ip_conntrack_netbios_ns” 注释掉
安装协议特征码
代码如下:
完成后在/etc/l7-protocols会生成文件支持的协议/etc/l7-protocols/protocols
添加iptables策略,运行内部网络上网,禁止qq和视频
代码如下:
指定8点到12点无法上网
代码如下:
5、使用tc控制带宽例如公司出口带宽是10Mbps,个用户A分配500KB的最大下载带宽,给用户B 分配分配的最大下载带宽是200KBA用户ip:10.0.0.100B用户ip:10.0.0.101
代码如下:
如果还有其他用户例如用户C和D的ip是102、103,要求的下载带宽也要求500那么在加入
代码如下:
清除eth0上的规则
代码如下:
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux下针对路由功能配置iptables的方法详解
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html