|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!Linux防火墙的启动和封闭
一
1.1启动下令
[root@singledb~]#serviceiptablesstop
Flushingfirewallrules:[OK]
SettingchainstopolicyACCEPT:filternat[OK]
Unloadingiptablesmodules:[OK]
[root@singledb~]#serviceiptablesstart
Applyingiptablesfirewallrules:[OK]
Loadingadditionaliptablesmodules:ip_conntrack_netbios_n[OK]
1.2设置开机自启动
[root@singledb~]#chkconfigiptablesoff
[root@singledb~]#chkconfig--listiptables
iptables0:off1:off2:off3:off4:off5:off6:off
[root@singledb~]#chkconfigiptableson
[root@singledb~]#chkconfig--listiptables
iptables0:off1:off2:on3:on4:on5:on6:off
[root@singledb~]#
在chkconfig--list下令,列出了0到6个数字的形态。Linux启动有7种形式。这些数据分离代表这几种形式下,iptables的形态。3是下令行形式,5是有界面的。
关于这几种形式,详细参考我的BLog:
Linux开机引诱与关机历程
http://blog.csdn.net/tianlesoftware/archive/2010/10/24/5962460.aspx
5.1init和运转级
传统的init界说了7个运转级(runlevel),每个级别都代表体系应当增补运转的某些特定办事:
(1)0级是完整封闭体系的级别
(2)1级大概S级代表单用户形式
(3)2-5级是多用户级别
(4)6级是从头引诱的级别
二.Iptables参数
Iptalbes是用来设置、保护和反省Linux内核的IP包过滤划定规矩的。能够界说分歧的表,每一个表都包括几个外部的链,也能包括用户界说的链。每一个链都是一个划定规矩列表,对对应的包举行婚配:每条划定规矩指定应该怎样处置与之相婚配的包。这被称作target(方针),也能够跳向统一个表内的用户界说的链。
[root@singledb~]#iptables--help
iptablesv1.3.5
Usage:iptables-[AD]chainrule-specification[options]
iptables-[RI]chainrulenumrule-specification[options]
iptables-Dchainrulenum[options]
iptables-[LFZ][chain][options]
iptables-[NX]chain
iptables-Eold-chain-namenew-chain-name
iptables-Pchaintarget[options]
iptables-h(printthishelpinformation)
Commands:
Eitherlongorshortoptionsareallowed.
--append-AchainAppendtochain
--delete-DchainDeletematchingrulefromchain
--delete-Dchainrulenum
Deleterulerulenum(1=first)fromchain
--insert-Ichain[rulenum]
Insertinchainasrulenum(default1=first)
--replace-Rchainrulenum
Replacerulerulenum(1=first)inchain
--list-L[chain]Listtherulesinachainorallchains
--flush-F[chain]Deleteallrulesinchainorallchains
--zero-Z[chain]Zerocountersinchainorallchains
--new-NchainCreateanewuser-definedchain
--delete-chain
-X[chain]Deleteauser-definedchain
--policy-Pchaintarget
Changepolicyonchaintotarget
--rename-chain
-Eold-chainnew-chain
Changechainname,(movinganyreferences)
Options:
--proto-p[!]protoprotocol:bynumberorname,eg.`tcp
--source-s[!]address[/mask]
sourcespecification
--destination-d[!]address[/mask]
destinationspecification
--in-interface-i[!]inputname[+]
networkinterfacename([+]forwildcard)
--jump-jtarget
targetforrule(mayloadtargetextension)
--goto-gchain
jumptochainwithnoreturn
--match-mmatch
extendedmatch(mayloadextension)
--numeric-nnumericoutputofaddressesandports
--out-interface-o[!]outputname[+]
networkinterfacename([+]forwildcard)
--table-ttabletabletomanipulate(default:`filter)
--verbose-vverbosemode
--line-numbersprintlinenumberswhenlisting
--exact-xexpandnumbers(displayexactvalues)
[!]--fragment-fmatchsecondorfurtherfragmentsonly
--modprobe=<command>trytoinsertmodulesusingthiscommand
--set-countersPKTSBYTESsetthecounterduringinsert/append
[!]--version-Vprintpackageversion.
[root@singledb~]#
2.1TARGETS
防火墙的划定规矩指定所反省包的特性和方针。假如包不婚配,将送往该链中下一条划定规矩反省;假如婚配,那末下一条划定规矩由方针值断定.该方针值能够是用户界说的链名,或是某个公用值,如ACCEPT[经由过程],DROP[删除],QUEUE[列队],大概RETURN[前往]。
ACCEPT暗示让这个包经由过程。DROP暗示将这个包抛弃。QUEUE暗示把这个包传送到用户空间。RETURN暗示中断这条链的婚配,到前一个链的划定规矩从头入手下手。假如抵达了一个内建的链(的末了),大概碰到内建链的划定规矩是RETURN,包的运气将由链原则指定的方针决意。
2.2TABLES
以后有三个表(哪一个表是以后表取决于内核设置选项和以后模块)。
-ttable这个选项指天命令要操纵的婚配包的表。假如内核被设置为主动加载模块,这时候若模块没有加载,(体系)将实验(为该表)加载合适的模块。这些表以下:
(1)filter表:这是默许的表,包括了内建的链INPUT(处置进进的包)、FORWORD(处置经由过程的包)和OUTPUT(处置当地天生的包)。
(2)nat表:这个表被查询时暗示碰到了发生新的毗连的包,由三个内建的链组成:PREROUTING(修正到来的包)、OUTPUT(修正路由之前当地的包)、POSTROUTING(修正筹办进来的包)。
(3)mangle表:这个表用来对指定的包举行修正。它有两个内建划定规矩:PREROUTING(修正路由之行进进的包)和OUTPUT(修正路由之前当地的包)。
2.3OPTIONS:
这些可被iptables辨认的选项能够辨别分歧的品种。
2.4COMMANDS
这些选项指定实行明白的举措:若指令行下没有其他划定,该行只能指定一个选项.关于长格局的下令和选项名,所用字母长度只需包管iptables能从其他选项中辨别出该指令就好了。
(1)-A-append
在所选择的链末增加一条或更多划定规矩。当源(地点)大概/与目标(地点)转换为多个地点时,这条划定规矩会加到一切大概的地点(组合)前面。
(2)-D-delete
从所选链中删除一条或更多划定规矩。这条下令能够有两种***:能够把被删除划定规矩指定为链中的序号(第一条序号为1),大概指定为要婚配的划定规矩。
(3)-R-replace
从选中的链中代替一条划定规矩。假如源(地点)大概/与目标(地点)被转换为多地点,该下令会失利。划定规矩序号从1入手下手。
(4)-I-insert
依据给出的划定规矩序号向所选链中拔出一条或更多划定规矩。以是,假如划定规矩序号为1,划定规矩会被拔出链的头部。这也是不指定例则序号时的默许体例。
(5)-L-list
显现所选链的一切划定规矩。假如没有选择链,一切链将被显现。也能够和z选项一同利用,这时候链会被主动列出和回零。准确输入受别的所给参数影响。
(6)-F-flush
清空所选链。这即是把一切划定规矩一个个的删除。
(7)--Z-zero
把一切链的包及字节的计数器清空。它能够和-L共同利用,在清绝后观察计数器,请拜见前文。
(8)-N-new-chain
依据给出的称号创建一个新的用户界说链。这必需包管没有同名的链存在。
(9)-X-delete-chain
删除指定的用户自界说链。这个链必需没有被援用,假如被援用,在删除之前你必需删除大概交换与之有关的划定规矩。假如没有给出参数,这条下令将试着删除每一个非内建的链。
(10)-P-policy
设置链的方针划定规矩。
(11)-E-rename-chain
依据用户给出的名字对指定链举行重定名,这仅仅是润色,对全部表的布局没有影响。TARGETS参数给出一个正当的方针。只要非用户自界说链可使用划定规矩,并且内建链和用户自界说链都不克不及是划定规矩的方针。
(12)-hHelp.
匡助。给出以后下令语法十分冗长的申明。
2.5PARAMETERS
以下参数组成划定规矩胪陈,如用于add、delete、replace、append和check下令。
(1)-p-protocal[!]protocol
划定规矩大概包反省(待反省包)的协定。指定协定能够是tcp、udp、icmp中的一个大概全体,也能够是数值,代表这些协定中的某一个。固然也能够利用在/etc/protocols中界说的协定名。在协定名前加上"!"暗示相反的划定规矩。数字0相称于一切all。Protocolall会婚配一切协定,并且这是缺省时的选项。在和check下令分离时,all能够不被利用。
(2)-s-source[!]address[/mask]
指定源地点,能够是主机名、收集名和分明的IP地点。mask申明能够是收集掩码或分明的数字,在收集掩码的右边指定收集掩码右边"1"的个数,因而,mask值为24即是255.255.255.0。在指定地点前加上"!"申明指定了相反的地点段。标记--src是这个选项的简写。
(3)-d--destination[!]address[/mask]
指定方针地点,要猎取具体申明请拜见-s标记的申明。标记--dst是这个选项的简写。
(4)-j--jumptarget
-j方针跳转,指定例则的方针;也就是说,假如包婚配应该做甚么。方针能够是用户自界说链(不是这条划定规矩地点的),某个会当即决意包的运气的公用内建方针,大概一个扩大(拜见上面的EXTENSIONS)。假如划定规矩的这个选项被疏忽,那末婚配的历程不会对包发生影响,不外划定规矩的计数器会增添。
(5)-i-in-interface[!][name]
i-进进的(收集)接口[!][称号],这是包经过该接口吸收的可选的出口称号,包经由过程该接口吸收(在链INPUT、FORWORD和PREROUTING中进进的包)。当在接口名前利用"!"申明后,指的是相反的称号。假如接口名前面加上"+",则一切以此接口名开首的接口城市被婚配。假如这个选项被疏忽,会假定为"+",那末将婚配恣意接口。
(6)-o--out-interface[!][name]
-o--输入接口[称号],这是包经过该接口送出的可选的出口称号,包经由过程该口输入(在链FORWARD、OUTPUT和POSTROUTING中送出的包)。当在接口名前利用"!"申明后,指的是相反的称号。假如接口名前面加上"+",则一切以此接口名开首的接口城市被婚配。假如这个选项被疏忽,会假定为"+",那末将婚配一切恣意接口。
(7)[!]-f,--fragment
[!]-f--分片,这意味着在分片的包中,划定规矩只扣问第二及今后的片。自那今后因为没法判别这类把包的源端口或方针端口(大概是ICMP范例的),这类包将不克不及婚配任何指定对他们举行婚配的划定规矩。假如"!"申明用在了"-f"标记之前,暗示相反的意义。
2.6OTHEROPTIONS
还能够指定以下附加选项:
(1)-v--verbose
-v--具体,具体输入。这个选项让list下令显现接口地点、划定规矩选项(假如有)和TOS(TypeofService)掩码。包和字节计数器也将被显现,分离用K、M、G(前缀)暗示1000、1,000,000和1,000,000,000倍(不外请参看-x标记改动它),关于增加,拔出,删除和交换下令,这会使一个或多个划定规矩的相干具体信息被打印。
(2)-n--numeric
-n--数字,数字输入。IP地点和端口会以数字的情势打印。默许情形下,步伐试显现主机名、收集名大概办事(只需可用)。
(3)-x-exact
-x-准确,扩大数字。显现包和字节计数器的准确值,取代用K,M,G暗示的约数。这个选项仅能用于-L下令。
(4)--line-numbers
当列表显现划定规矩时,在每一个划定规矩的后面加下行号,与该划定规矩在链中的地位绝对应。
2.7MATCHEXTENSIONS
iptables可以利用一些与模块婚配的扩大包。以下就是含于基础包内的扩大包,并且他们年夜多半都能够经由过程在后面加上!来暗示相反的意义。
2.7.1tcp
当--protocoltcp被指定,且其他婚配的扩大未被指准时,这些扩大被装载。它供应以下选项:
(1)--source-port[!][port[ort]
源端口或端口局限指定。这能够是办事名或端标语。利用格局端口:端口也能够指定包括的(端口)局限。假如首端标语被疏忽,默许是"0",假如末了标语被疏忽,默许是"65535",假如第二个端标语年夜于第一个,那末它们会被互换。这个选项可使用--sport的别号。
(2)--destionation-port[!][port:[port]
方针端口或端口局限指定。这个选项可使用--dport别号来取代。
(3)--tcp-flags[!]maskcomp
婚配指定的TCP标志。第一个参数是我们要反省的标志,一个用逗号分隔的列表,第二个参数是用逗号分隔的标志表,是必需被设置的。标志以下:SYNACKFINRSTURGPSHALLNONE。因而这条下令:iptables-AFORWARD-ptcp--tcp-flagsSYN,ACK,FIN,RSTSYN只婚配那些SYN标志被设置而ACK、FIN和RST标志没有设置的包。
(4)[!]--syn
只婚配那些设置了SYN位而扫除了ACK和FIN位的TCP包。这些包用于TCP毗连初始化时收回哀求;比方,大批的这类包进进一个接口产生梗塞时会制止进进的TCP毗连,而进来的TCP毗连不会遭到影响。这即是--tcp-flagsSYN,RST,ACKSYN。假如"--syn"后面有"!"标志,暗示相反的意义。
(5)--tcp-option[!]number
婚配设置了TCP选项的。
2.7.2udp
当protocoludp被指定,且其他婚配的扩大未被指准时,这些扩大被装载,它供应以下选项:
(1)--source-port[!][port:[port]
源端口或端口局限指定。详见TCP扩大的--source-port选项申明。
(2)--destination-port[!][port:[port]
方针端口或端口局限指定。详见TCP扩大的--destination-port选项申明。
2.7.3icmp
当protocolicmp被指定,且其他婚配的扩大未被指准时,该扩大被装载。它供应以下选项:
(1)--icmp-type[!]typename
这个选项同意指定ICMP范例,能够是一个数值型的ICMP范例,大概是某个由下令iptables-picmp-h所显现的ICMP范例名。
2.7.4mac
--mac-source[!]address
婚配物理地点。必需是XX:XX:XX:XX:XX如许的格局。注重它只对来自以太设备并进进PREROUTING、FORWORD和INPUT链的包无效。
2.7.5limit
这个模块婚配标记用一个标志桶过滤器逐一定速率举行婚配,它和LOG方针分离利用来给出无限的上岸数.当到达这个极限值时,利用这个扩大包的划定规矩将举行婚配.(除非利用了"!"标志)
(1)--limitrate
最年夜均匀婚配速度:可赋的值有/second,/minute,/hour,or/day如许的单元,默许是3/hour。
(2)--limit-burstnumber
待婚配包初始个数的最年夜值:若后面指定的极限还没到达这个数值,则概数字加1.默许值为5
2.7.6multiport
这个模块婚配一组源端口或方针端口,最多能够指定15个端口。只能和-ptcp大概-pudp连着利用。
<pstyle="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;background-color:#FFFFFF;"><spanstyle="font-size:small;"><spanstyle="font-family:宋体;">(1) |
|