|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!iptables企业使用,先看拓扑图:
如图所示,利用假造机搭建的实行情况:
1.条记本电脑(简称外网用户)摹拟的是外网用户
2.两头办事器(简称网关)体系Linux,利用iptables防火墙,来看成内网的网关
3.Windows2003是内网中的一台办事器
4.内网的客户端电脑
个中:
网关eth0经由过程桥接体例和条记本电脑通讯,而eth1利用custom(VMnet1host-only)体例
Windows2003也是利用custom(VMnet1host-only)体例
测试:
内网客户端ping网关
网关自己可不成以上彀
实行入手下手:
1、开启网关的内核转发数据包功效,默许Linux是不开启数据包转发功效
- [root@server1~]#echo"1"/proc/sys/net/ipv4/ip_forward#能够这么开启,不外重启以后就生效了,由于这个文件是内存中的
复制代码 基于这类情形,要修正内核的设置文件vim/etc/sysctl.conf
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为1
复制代码
- [root@server1~]#sysctl-p#这条下令能够把这些指令从头加载到内核中往net.ipv4.ip_forward=1net.ipv4.conf.default.rp_filter=1net.ipv4.conf.default.accept_source_route=0kernel.sysrq=0kernel.core_uses_pid=1net.ipv4.tcp_syncookies=1kernel.msgmnb=65536kernel.msgmax=65536kernel.shmmax=4294967295kernel.shmall=268435456
复制代码
- [root@server1~]#cat/proc/sys/net/ipv4/ip_forward#如今检察这个文件的值为11[root@server1~]#
复制代码 2、在网打开做SNAT使内网电脑能够毗连到Internet
- [root@server1~]#iptables-tnat-APOSTROUTING-s192.168.0.0/24-jSNAT--to192.168.18.110
复制代码
客户端上彀另有一个条件,就是iptablesfilter表中的FORWARD链默许是ACCEPT形态,这么一条才可使客户端上彀。假如默许是DROP形态的话,那客户端也是没法上彀的。
3、能让客户端上彀的***
***1、把FORWARD的默许战略设置为DROP,然后一个一个办事开放,只能开放我们晓得端口(用工具抓包,然后剖析出IP地点和端口)的办事大概软件,这类情形会形成迅雷等软件没法利用(由于不晓得迅雷下载时分用甚么端口)
1.能ping
- iptables-tfilter-AFORWARD-picmp-jACCEPT
复制代码 2.能看网页
内网客户机进来的方针端口是80,53都放行- iptables-tfilter-AFORWARD-ptcp-ieth1--dport80-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp-ieth1--dport53-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-pudp-ieth1--dport53-s192.168.0.0/24-jACCEPT者二者写个中一个便可iptables-tfilter-AFORWARD-ptcp--dport80-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--dport53-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-pudp--dport53-s192.168.0.0/24-jACCEPT
复制代码 剖析后返来的源端口是80,53的都授与放行- iptables-tfilter-AFORWARD-ptcp-ieth0--sport80-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-pudp-ieth0--sport53-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp-ieth0--sport53-d192.168.0.0/24-jACCEPT大概,二者写个中一个便可iptables-tfilter-AFORWARD-ptcp--sport80-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-pudp--sport53-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--sport53-d192.168.0.0/24-jACCEPT
复制代码
3.能收发邮件
- iptables-tfilter-AFORWARD-ptcp--dport25-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--sport25-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--sport110-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--dport110-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--sport143-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--dport143-s192.168.0.0/24-jACCEPT
复制代码 有其他端口的相似设置就能够了,一出一进共同。
4.上QQ
QQ登录时可使用2种情形,udp8000/tcp80、443,会主动检测谁人端口开放着,谁人开放,就用谁人端口登录
UDP8000
- iptables-tfilter-AFORWARD-pudp--dport8000-s192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-pudp--sport8000-d192.168.0.0/24-jACCEPTtcp80(跟网页端口一样80,以是只需能看网页,那就可以上QQ)iptables-tfilter-AFORWARD-ptcp--sport80-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--dport80-s192.168.0.0/24-jACCEPTtcp443iptables-tfilter-AFORWARD-ptcp--sport443-d192.168.0.0/24-jACCEPTiptables-tfilter-AFORWARD-ptcp--dport443-s192.168.0.0/24-jACCEPT
复制代码 更严厉的办法,就是找出QQ登录办事器的地点,然后设置:- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为10
复制代码
这类情形会形成对照多的软件没法利用,只要一个一个找出软件的IP地点和端口,才干利用,不倡议这么设置
***2、也是把FORWARD链的默许战略设置为DROP,然先手工增加要上彀的IP地点(固然也能够用剧本批量增加),如许没有举行设置的客户端就没法上彀,这类情形可使用迅雷下载,还能够限定迅雷的速率,保举利用这类***
做以上设置是很严厉了,可是很多多少使用不克不及用,并且迅雷这类软件基本就不晓得用甚么端口,毗连谁人IP地点,并且我们有事又必要用迅雷下载,这时候我们就能够限定迅雷的下载速率,依照以下下令来:
a.让一切进来都能够进来
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为11
复制代码 b.出去的要举行限速,对单个主机举行限速(要在网关的外网卡限定下载的速率,而在内网卡下限制上传的速率)
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为12
复制代码 依照这个下令,这个主机最年夜也就14.6KB/S,依据实践情形对速率举行调剂
-mlimit--limit10/s--limit-burst10该选项就是对主机举行限速
--limit10/s:10/s是每秒发个10个包,又因网卡的MTU值为1500B,换算成KB,1500/1024=1.46KB,也就是每一个包巨细幻想情形下是1.46KB,每秒10个包,那就是每秒1.46*10=14.6KB/S
--limit-burst10:最年夜峰值也是10个包
c.做端口映照,偶然间必要把内网的办事器公布到外网,让外网的用户也能会见,这时候就必要端口映照。
会见网关的8080端口,就是相称于会见,内网192.168.0.2的80端口
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为13
复制代码 会见网关的3389端口,就相称于会见内网192.168.0.2的3389端口,如许就把3389端口映照进来了
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为14
复制代码 做端口映照时,POSTROUTING链实在能够不做SNAT,iptables就可以把出去的包交给内网呆板,而内网呆板也将数据复兴到外网的呆板,缘故原由是:iptables是一种形态型的防火墙,不必我们手动将设置数据包的转发偏向,它也能很好的转发我们的数据包。
检察nat表和filter表
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为15
复制代码 注重:这时候候,就算filter中的INPUT和OUTPUT链默许战略是DROP,那也不会影响端口映照的,由于INPUT链和OUTPUT链只会对进进本人和本人进来的做限定,这时候候是转发,以是不会影响。
d.公布内网的FTP办事器到外网往
先看FTP的事情形式:自动形式和主动形式
自动形式(Active):客户端以一个年夜于1024端口的随机端口(假定n端口),向办事器的21端口收回哀求,办事器用21端口举行回应,然后办事器会以20端口,来自动往毗连客户真个(n+1)端口,然后就入手下手传输数据.只要这类形式下才会用到20端口。
如今经由过程iptables来公布FTP,先看自动形式:
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为16
复制代码 这时候客户端假如设置为主动形式的话,是毗连不到办事器
主动形式(Passive)
客户端以一个年夜于1024端口的随机端口(假定n端口),向办事器的21端口收回哀求,办事器用21端口举行回应(这内里包括一个随机端口m,用于和客户端举行数据传输),然后客户端以n+1端口,毗连办事器的m端口,最初传输数据。
以主动形式公布FTP,由于主动形式办事器端口是用随机端口和客户端举行数据传输,以是我们就不晓得该公布甚么端口进来,这时候就必要借助2个模块来完成。ip_nat_ftp和ip_conntrack_ftp这2个模块,加载到内核傍边往,就能够完成FTP的主动形式的公布。
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为17
复制代码 如许客户端就能够以主动形式(FTP客户端能够设置主动形式和自动形式)来毗连到办事器,这时候假如用自动形式毗连办事器,是毗连不到的。
以是FTP事情于甚么形式,完整在于FTP客户真个设置,而不在于办事器端,年夜多半情形下办事器端是不开放20端口,以是我们只能用主动形式往毗连处于内网中的FTP办事器
***3、把FORWARD链默许设置为ACCEPT,然厥后限定某些办事的运转,这类情形下,没法限定迅雷的速率,由于一旦FORWARD链设置为ACCEPT的话,其他战略设置都不起感化,不保举这类***,另有假如上彀举动严厉的话,那末要找到那末软件的利用的端口及IP地点非常贫苦。
限定QQ登录,起首要找到QQ登录都利用那些地点
tcpdump-ieth1host192.168.0.2-s0-wqq.pcap利用这个下令能够抓包,就能够晓得某个软件利用甚么端口,IP地点信息,然后把qq.pcap下载上去,用wireshark来剖析(点Statistics-Conversation-IPv4),就能够看到QQ利用了多个地点,默许利用了UDP8000端口,把这些地点记下,利用iptables来做限定
- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为18
复制代码- #ControlsIPpacketforwardingnet.ipv4.ip_forward=1#找到这行,把0修正为19
复制代码 多端口要这么设置
然后把这些地点和这些端口,封失落,可是webQQ没法封,由于利用80端口,以此类推找到其他不克不及利用的软件的端口IP地点,克制失落。
本文出自“雷纳科斯的博客”博客,请务必保存此出处http://linux5588.blog.51cto.com/65280/752084
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|