位置: IT常识 - 正文

Linux下针对路由功能配置iptables的方法详解(linux路由器配置实例)

编辑:rootadmin
这篇文章主要介绍了Linux下针对路由功能配置iptables的相关方法,包括能够实现基本的上网和访问控制等功能,非常推荐,需要的朋友可以参考下... 15-12-22

推荐整理分享Linux下针对路由功能配置iptables的方法详解(linux路由器配置实例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux路由器配置实例,linux 路由,linux路由表详解,基于linux的路由器,linux路由器配置实例,linux路由表详解,linux路由器配置实例,linux路由器配置实例,内容如对您有帮助,希望把文章链接给更多的朋友!

作为公司上网的路由器需要实现的功能有nat地址转换、dhcp、dns缓存、流量控制、应用程序控制,nat地址转换通过iptables可以直 接实现,dhcp服务需要安装dhcpd,dns缓存功能需要使用bind,流量控制可以使用tc,应用程序控制:例如对qq的封锁可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz来实现1、网络规划

操作系统是centos5.8

2、安装dhcpd

代码如下:yum install dhcp-3.0.5-31.el5vim /etc/dhcp/dhcpd.confddns-update-style interim;ignore client-updates;subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.1; option subnet-mask 255.255.255.0; option domain-name-servers 10.0.0.1; range dynamic-bootp 10.0.0.100 10.0.0.200; default-lease-time 21600; max-lease-time 43200;}

3、安装bind,实现dns缓存

代码如下:yum install bind97.i386 bind97-libs.i386 bind97-utils.i386vim /etc/named.confoptions { directory "/var/named"; allow-recursion { 10.0.0.0/24; }; recursion yes; forward first; #将所有请求都进行转发 forwarders { 114.114.114.114; }; #定义转发服务器地址};zone "." IN { type hint; file "named.ca";};zone "localhost" IN { type master; file "named.localhost"; allow-transfer { none; };};zone "0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-transfer { none; };};

创建根域文件,默认有

代码如下:dig -t NS . > /var/named/named.cachown :named /var/named/named.ca

创建本地正向解析文件,默认有

代码如下:vim /var/named/named.localhost$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1chown :named /var/named/named.localhost

创建本地反向解析文件,默认有

代码如下:vim /var/named/named.loopback $TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 PTR localhost.chown :named /var/named/named.loopback

检查主配置文件

代码如下:named-checkconf

检查根区域配置文件

代码如下:named-checkzone “.” /var/named/named.ca

检查区域文件

代码如下:named-checkzone “localhost” /var/named/named.localhost

启动服务

代码如下:service named start

4、重新编译编译内核和iptables以支持应用层过滤由于实行防火墙功能的是netfilter内核模块,所以需要重新编译内核,需要下载新的内核源码,并使用netfilter-layer7-v2.22作为内核的补丁一起编译到内核中。而控制netfiler的是iptables工具,因此iptables也必须重新编译安装,最后再安装应用程序过滤特征码库17-protocols-2009-05028.tar.gz

1、给内核打补丁,并重新编译内核2、给iptables源码打补丁,并重新编译iptables3、安装17proto

备份iptables脚本和配置文件

代码如下:cp /etc/rc.d/init.d/iptables /root/iptables.sysvcp /etc/sysconfig/iptables-config /root/iptables-config

2.6内核下载地址

https://www.kernel.org/pub/linux/kernel/v2.6/

netfilter下载地址

http://download.clearfoundation.com/l7-filter/

Linux下针对路由功能配置iptables的方法详解(linux路由器配置实例)

iptables源码下载地址

http://www.netfilter.org/projects/iptables/downloads.html

应用程序特征码库下载地址

http://download.clearfoundation.com/l7-filter/

代码如下:xz -d linux-2.6.28.10.tar.xztar -xvf linux-2.6.28.10.tar.gz -C /usr/src #新的内核源码,用于重新编译tar -zxvf netfilter-layer7-v2.22.tar.gz -C /usr/src #内核补丁和iptables补丁 ,只支持到2.6.28#进入解压目录并创建软连接</p><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

编译内核

代码如下:make menuconfigNetworking support -> Networking Options -> Network packet filtering framework -> Core Netfilter Configuration<M> Netfilter connection tracking support<M> "lawyer7" match support<M> "string" match support<M> "time" match support<M> "iprange" match support<M> "connlimit" match support<M> "state" match support<M> "conntrack" connection match support<M> "mac" address match support<M> "multiport" Multiple port match supportNetworking support -> Networign options -> Network packet filtering framework -> IP:Netfiltr Configuration<M> IPv4 connection tracking support (required for NAT)<M> Full NAT<M> MASQUERADE target support<M> NETMAP target support<M> REDIRECT target support

在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)

代码如下:makemake modules_installmake install

重启操作系统选择新内核登录

卸载旧的iptables

代码如下:rpm -e iptables-1.3.5-9.1.el5 iptables-ipv6-1.3.5-9.1.el5 iptstate-1.4-2.el5 --nodeps

安装新的iptables,以支持新的netfiler模块

代码如下:tar -jsvf iptables-1.4.6.tar.bz2 -C /usr/srccd /usr/src/netfilter-layer7-v2.23cd iptables-1.4.3forward-for-kernel-2.6.20forwardcp * /usr/src/iptables-1.4.6/extensions/cd /usr/src/iptables-1.4.6/./configure --prefix=/usr --with-ksource=/usr/src/linuxmakemake install

查看安装后的iptables的文件

代码如下:ls /usr/sbin |grep iptablesls /usr/libexec/xtables

复制之前备份的配置文件和脚本

代码如下:cp /root/iptables-config /etc/sysconfig/cp /root/iptables.sysv /etc/rc.d/init.d/iptables

修改脚本中iptables的路径

代码如下:vim /etc/rc.d/init.d/iptables:.,$s@/sbin/$IPTABLES@/usr/sbin/$IPTABLES@g

让iptables服务开机自动启动

代码如下:chkconfig --add iptables

修改iptables 配置文件将/etc/sysconfig/iptables-config中的IPTABLES_MODULES=”ip_conntrack_netbios_ns” 注释掉

安装协议特征码

代码如下:tar xvf 17-protocols-2009-05028.tar.gzmake install

完成后在/etc/l7-protocols会生成文件支持的协议/etc/l7-protocols/protocols

添加iptables策略,运行内部网络上网,禁止qq和视频

代码如下:iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-soure 192.168.6.67iptables -A FORWARD -m layer7 --l7proto qq -j DROPiptables -A FORWARD -m layer7 --l7proto httpvideo -j DROPiptables -A FORWARD -m layer7 --l7proto httpaudio -j DROP

指定8点到12点无法上网

代码如下:iptables -A FORWARD -m time --timestart 08:00 --timestop 12:00 -j DROP

5、使用tc控制带宽例如公司出口带宽是10Mbps,个用户A分配500KB的最大下载带宽,给用户B 分配分配的最大下载带宽是200KBA用户ip:10.0.0.100B用户ip:10.0.0.101

代码如下:#在eth0网卡上创建一个根队列规则,队列规则的算法使用htb,default 2表示指定一个默认类别编号,默认的流量控制策略,如果ip没有在后面的filter中被匹配到就都是有这个策略tc qdisc add dev eth0 root handle 1:0 htb default 2#在eth0网卡上定义一个类,prant 1:0中的1对应根队列规则中的handle 1:0,classid 1:2表示当前这个类的标识,用于应用在后面的得到filter中,rate 200kbsp表示带宽为200KB/s,ceil 200kbps表示最大带宽也为200KB/s,prio 2是优先级tc class add dev eth0 parent 1:0 classid 1:2 htb rate 200kbps ceil 200kbps prio 2tc class add dev eth0 parent 1:0 classid 1:3 htb rate 500kbps ceil 500kbps prio 2#将两个类的默认的fifq队列规则改为sfqtc qdisc add dev eth0 parent 1:2 handle 20 sfqtc qdisc add dev eth0 parent 1:3 handle 30 sfq#在网卡eth0上的1:0节点(对应qdisc中的handle 1:0)添加一个u32过滤规则,优先级为1,凡是目标地址是10.0.0.100的数据包都使用1:2类(对应classid为1:2的类)tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.100 flowid 1:2tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.101 flowid 1:3

如果还有其他用户例如用户C和D的ip是102、103,要求的下载带宽也要求500那么在加入

代码如下:tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.102 flowid 1:3tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.103 flowid 1:3

清除eth0上的规则

代码如下:tc qdisc del dev eth1 root> /dev/null
本文链接地址:https://www.jiuchutong.com/zhishi/268663.html 转载请保留说明!

上一篇:如何利用OneDrive将存到文件夹的文件自动发到邮箱(如何利用流产让男人愧疚)

下一篇:三星笔记本将预装win8改win7系统详细教程图解(三星笔记本预装系统)

  • 12pro和12 pro max处理器区别(12pro和12 pro max区别)(12pro和12 pro max处理器区别)

    12pro和12 pro max处理器区别(12pro和12 pro max区别)(12pro和12 pro max处理器区别)

  • opporeno4pro有双扬声器吗(oppo reno4pro双扬声器怎么开关)

    opporeno4pro有双扬声器吗(oppo reno4pro双扬声器怎么开关)

  • 线程是一段子程序对吗(线程是进程的一个实例,线程是程序运程中的)

    线程是一段子程序对吗(线程是进程的一个实例,线程是程序运程中的)

  • 电话响了几声说暂时无法接通(电话响了几声说无法接通什么原因)

    电话响了几声说暂时无法接通(电话响了几声说无法接通什么原因)

  • qq号换绑手机号了还能被找回吗(qq号换绑手机号需要多久)

    qq号换绑手机号了还能被找回吗(qq号换绑手机号需要多久)

  • 抖音消息页面怎么变了(抖音消息页面怎么设置排版)

    抖音消息页面怎么变了(抖音消息页面怎么设置排版)

  • 电脑老是弹出垃圾广告怎么阻止(电脑老是弹出垃圾软件怎么办)

    电脑老是弹出垃圾广告怎么阻止(电脑老是弹出垃圾软件怎么办)

  • 候补了还能抢票吗(候补成功了还在抢票)

    候补了还能抢票吗(候补成功了还在抢票)

  • 苹果xs max卡槽怎么放卡(苹果xs max卡槽怎么打开)

    苹果xs max卡槽怎么放卡(苹果xs max卡槽怎么打开)

  • ps怎么打竖着的字(ps怎么打竖着的书名号)

    ps怎么打竖着的字(ps怎么打竖着的书名号)

  • 怎么弄微信红包封面(怎么弄微信红包的皮肤)

    怎么弄微信红包封面(怎么弄微信红包的皮肤)

  • 课程开发的四个环节(课程开发的四个模式)

    课程开发的四个环节(课程开发的四个模式)

  • z5x视频聊天带美颜吗(vivoz5的微信视频美颜,对方看到是怎么的)

    z5x视频聊天带美颜吗(vivoz5的微信视频美颜,对方看到是怎么的)

  • iponex怎样调出home(iphonex hone设置)

    iponex怎样调出home(iphonex hone设置)

  • 微信收款二维码如何修改名字(微信收款二维码怎么弄成绿色)

    微信收款二维码如何修改名字(微信收款二维码怎么弄成绿色)

  • 苹果系统30g怎么清理(iphone系统30g)

    苹果系统30g怎么清理(iphone系统30g)

  • xsmax是单卡还是双卡(xsmax是单卡还是双卡在网络选择中可以看出来吗?)

    xsmax是单卡还是双卡(xsmax是单卡还是双卡在网络选择中可以看出来吗?)

  • 手机截图后怎样编辑(手机截图后怎样修改图片文字)

    手机截图后怎样编辑(手机截图后怎样修改图片文字)

  • 苹果x键盘锁怎么设置(苹果x键盘锁忘了怎么办)

    苹果x键盘锁怎么设置(苹果x键盘锁忘了怎么办)

  • vivox27息屏时钟怎么关闭

    vivox27息屏时钟怎么关闭

  • ps如何制作视频(如何制作照片视频)

    ps如何制作视频(如何制作照片视频)

  • 三星手机如何隐藏软件(三星手机如何隐藏app图标)

    三星手机如何隐藏软件(三星手机如何隐藏app图标)

  • linux系统怎么访问windows共享文件?(linux系统怎么访问共享文件夹)

    linux系统怎么访问windows共享文件?(linux系统怎么访问共享文件夹)

  • InoRpc.exe进程有什么作用 InoRpc进程是什么文件(rundll32进程很多)

    InoRpc.exe进程有什么作用 InoRpc进程是什么文件(rundll32进程很多)

  • windows7旗舰版系统魔兽争霸Dota画面不清晰的解决(win7旗舰版系统怎么样)

    windows7旗舰版系统魔兽争霸Dota画面不清晰的解决(win7旗舰版系统怎么样)

  • 十七届智能车智能视觉组(十四届智能车规则)

    十七届智能车智能视觉组(十四届智能车规则)

  • 增值税销项进项什么意思
  • 出口商品认证
  • 企业上缴税费总额怎么算
  • 企业所有者权益科目有哪些
  • 勘探费收费标准
  • 中药材适用税率是多少
  • 股票质押式回购交易业务
  • 研发支出费用化支出包括哪些
  • 房地产企业预缴税款最新规定
  • 公司章程上的出资时间2050年
  • 低值易耗品一次性摊销体现重要性
  • 代扣代缴个人所得税手续费返还 增值税
  • 投资性房地产房租计入什么会计科目
  • 企业购买汽车时需要交哪些税?
  • 支付运费价税合计
  • 企业交的社保是什么
  • 南京房产税2021年
  • 征缴工会筹备金的规定
  • 企业不能抵扣的专票有哪些
  • 企业所得税怎么征收
  • 跨地区经营汇总纳税企业所得税
  • 一般纳税人简易征收3%可以开专票吗
  • 建筑行业营改增税率变化
  • 企业在项目建设前必须进行
  • 移动手机网速测试
  • 合同印花税会计分录
  • 开发票没有银行回单可以入帐吗?
  • linux中不能使用的shell
  • 农民工工资保证金退还条件
  • 琼斯的大海怪
  • 代理公司变更收费标准
  • 工会举办比赛,参赛人员差旅费可以在工会报销吗
  • 资金占用利息会计处理
  • explore.exe
  • 一公顷等于多少千米
  • php与ajax交互
  • vue使用scss报错
  • 爱心代码图
  • vue2计算属性和vue3的计算属性的区别
  • 公司购买银行理财会计分录
  • 企业微信如何微信认证
  • 担保贷款借款人征信不好有影响吗
  • 计提和发放工资金额不一致
  • 总公司发票可以入账分公司吗怎么做账
  • 如何顺利完成年度任务
  • 政府预算会计的会计科目
  • 餐饮行业加盟模式
  • 其他收益会计科目核算什么
  • 销售费用工资是什么科目
  • 支付关税现金流放哪儿
  • 公司的长期股权投资该如何做账
  • 冲减坏账准备的金额怎么计算
  • 其他应付款转实收资本走什么程序
  • CMD命令操作MSSQL2005数据库(命令整理)
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • ubuntu20设置wifi
  • ubuntu系统怎么用
  • linux批处理文件怎么写
  • reald是什么格式
  • windows 开发工具
  • win7如何设置多用户
  • 在linux操作系统中,/etc/rc.d/init.d
  • linux安装步骤
  • javascript 数组操作
  • 请问在javascript程序中
  • shell 方法调用
  • python set集合取值
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • android listView二级目录选中效果
  • 用shell脚本创建用户
  • js的实现原理
  • python目录文件拼接
  • jquery数据类型
  • 税务案件移送案件的法律条款
  • 应税消费品通过什么科目核算
  • 桂林市临桂区有几所高中
  • 电子税务局申领的发票怎么读入
  • 建筑企业异地预缴增值税计算
  • 泉州国税局网站首页
  • 安徽省建筑施工企业排名
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设