iptables 入门Word格式.docx
- 文档编号:18783037
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:16
- 大小:26.18KB
iptables 入门Word格式.docx
《iptables 入门Word格式.docx》由会员分享,可在线阅读,更多相关《iptables 入门Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
定义变数
FW_IP="
163.26.197.8"
打开核心forward功能
###-----------------------------------------------------###
#打开forward功能
echo"
1"
>
/proc/sys/net/ipv4/ip_forward
清除所有的规则
一开始要先清除所有的规则,重新开始,以免旧有的规则影响新的设定。
#清除先前的设定
#清除预设表filter中,所有规则链中的规则
iptables-F
#清除预设表filter中,使用者自订链中的规则
iptables-X
#清除mangle表中,所有规则链中的规则
iptables-F-tmangle
#清除mangle表中,使用者自订链中的规则
iptables-tmangle-X
#清除nat表中,所有规则链中的规则
iptables-F-tnat
#清除nat表中,使用者自订链中的规则
iptables-tnat-X
选定预设的政策
接着,要选定各个不同的规则链,预设的政策为何。
预设全部丢弃∶
#设定filtertable的预设政策
iptables-PINPUTDROP
iptables-POUTPUTDROP
iptables-PFORWARDDROP
或者预设全部接受∶
iptables-PINPUTACCEPT
iptables-POUTPUTACCEPT
iptables-PFORWARDACCEPT
各个规则链的预设政策可独立自主的设定,不必受其它链的影响。
以下练习,若目标为DROP,则policy请设为ACCEPT;
若目标为ACCEPT,则policy请设为DROP,如此方可看出效果。
开放某一个介面
iptables-AINPUT-ilo-jACCEPT
iptables-AOUTPUT-olo-jACCEPT
注∶IPFW或Netfilter的封包流向,localprocess不会经过FORWARDChain,
因此lo只在INPUT及OUTPUT二个chain作用。
iptables-AINPUT-ieth1-jACCEPT
iptables-AOUTPUT-oeth1-jACCEPT
iptables-AFORWARD-ieth1-jACCEPT
iptables-AFORWARD-oeth1-jACCEPT
IP伪装
使内部网路的封包经过伪装之后,使用对外的eth0网卡当作代表号,对外连线。
#启动内部对外转址
iptables-tnat-APOSTROUTING-oeth0-s172.16.0.0/16-jSNAT--to-source$FW_IP
上述指令意指∶把172.16.0.0/16这个网段,伪装成$FW_IP出去。
虚拟主机
利用转址、转port的方式,使外部网路的封包,可以到达内部网路中的伺服主机,俗称虚拟主机。
这种方式可保护伺服主机大部份的port不被外界存取,只开放公开服务的通道(如WebServerport80),因此安全性甚高。
#启动外部对内部转址
#凡对$FW_IP:
80连线者,则转址至172.16.255.2:
80
iptables-tnat-APREROUTING-ieth0-ptcp-d$FW_IP--dport80-jDNAT--to-destination172.16.255.2:
开放内部主机可以telnet至外部的主机
开放内部网路,可以telnet至外部主机。
作法如下∶(预设policy为DROP)
#open外部主机telnetport23
iptables-AOUTPUT-oeth0-ptcp-s$FW_IP--sport1024:
65535-dany/0--dport23-jACCEPT
iptables-AINPUT-ieth0-ptcp!
--syn-sany/0--sport23-d$FW_IP--dport1024:
65535-jACCEPT
开放邮包转递通道
开放任意的邮件主机送信包给你的MailServer,而你的MailServer也可以送信包过去。
#openSMTPport25
#以下是∶别人可以送信给你
iptables-AINPUT-ieth0-ptcp-sany/0--sport1024:
65535-d$FW_IP--dport25-jACCEPT
iptables-AOUTPUT-oeth0-ptcp!
--syn-s$FW_IP--sport25-dany/0--dport1024:
#以下是∶你可以送信给别人
65535-dany/0--dport25-jACCEPT
--syn-sany/0--sport25-d$FW_IP--dport1024:
65525-jACCEPT
开放对外离线下载信件的通道
开放内部网路可以对外部网路的POP3server取信件。
#open对外部主机的POP3port110
65535-dany/0--dport110-jACCEPT
--syn-sany/0--sport110-d$FW_IP--dport1024:
开放观看网页的通道
开放内部网路可以观看外部网路的网站。
#open对外部主机的HTTPport80
65535-dany/0--dport80-jACCEPT
--syn-sany/0--sport80-d$FW_IP--dport1024:
开放查询外部网路的DNS主机
开放内部网路,可以查询外部网路任何一台DNS主机。
#openDNSport53
#第一次会用udp封包来查询
iptables-AOUTPUT-oeth0-pudp-s$FW_IP--sport1024:
65535-dany/0--dport53-jACCEPT
iptables-AINPUT-ieth0-pudp-sany/0--sport53-d$FW_IP--dport1024:
#若有错误,会改用tcp封包来查询
--syn-sany/0--sport53-d$FW_IP--dport1024:
#开放这台主机上的DNS和外部的DNS主机互动查询∶使用udp
iptables-AOUTPUT-oeth0-pudp-s$FW_IP--sport53-dany/0--dport53-jACCEPT
iptables-AINPUT-ieth0-pudp-sany/0--sport53-d$FW_IP--dport53-jACCEPT
#开放这台主机上的DNS和外部的DNS主机互动查询∶使用tcp
iptables-AOUTPUT-oeth0-ptcp-s$FW_IP--sport53-dany/0--dport53-jACCEPT
-y-sany/0--sport53-d$FW_IP--dport53-jACCEPT
开放内部主机可以ssh至外部的主机
开放内部网路,可以ssh至外部主机。
#open外部主机sshport22
65535-dany/0--dport22-jACCEPT
--syn-sany/0--sport22-d$FW_IP--dport1024:
#以下是sshprotocol比较不同的地方
iptables-AOUTPUT-oeth0-ptcp-s$FW_IP--sport1020:
1023-dany/0--dport22-jACCEPT
--syn-sany/0--sport22-d$FW_IP--dport1020:
1023-jACCEPT
开放内部主机可以ftp至外部的主机
开放内部网路,可以ftp至外部主机。
#open对外部主机ftpport21
#以下是打开命令channel21
65535-dany/0--dport21-jACCEPT
--syn-sany/0--sport21-d$FW_IP--dport1024:
#以下是打开资料channel20
iptables-AINPUT-ieth0-ptcp-sany/0--sport20-d$FW_IP--dport1024:
--syn-s$FW_IP--sport1024:
65535-dany/0--dport20-jACCEPT
#以下是打开passivemodeFTP资料通道
65535-dany/0--dport1024:
--syn-sany/0--sport1024:
65535-d$FW_IP--dport1024:
开放ping
可以对外ping任何一台主机。
iptables-AINPUT-ieth0-picm-sany/0--icmp-type0-d$FW_IP-jACCEPT
iptables中文man文档
总览
用iptables-ADC来指定链的规则,-A添加-D删除-C修改
iptables-[RI]chainrulenumrule-specification[option]
用iptables-RI通过规则的顺序指定
iptables-Dchainrulenum[option]
删除指定规则
iptables-[LFZ][chain][option]
用iptables-LFZ链名[选项]
iptables-[NX]chain
用-NX指定链
iptables-Pchaintarget[options]
指定链的默认目标
iptables-Eold-chain-namenew-chain-name
-E旧的链名新的链名
用新的链名取代旧的链名
说明
Iptalbes是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。
每个链都是一个规则列表,对对应的包进行匹配:
每条规则指定应当如何处理与之相匹配的包。
这被称作'
target'
(目标),也可以跳向同一个表内的用户定义的链。
TARGETS
防火墙的规则指定所检查包的特征,和目标。
如果包不匹配,将送往该链中下一条规则检查;
如果匹配,那么下一条规则由目标值确定.该目标值可以是用户定义的链名,或是某个专用值,如ACCEPT[通过],DROP[删除],QUEUE[排队],或者RETURN[返回]。
ACCEPT表示让这个包通过。
DROP表示将这个包丢弃。
QUEUE表示把这个包传递到用户空间。
RETURN表示停止这条链的匹配,到前一个链的规则重新开始。
如果到达了一个内建的链(的末端),或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。
TABLES
当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。
-ttable
这个选项指定命令要操作的匹配包的表。
如果内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。
这些表如下:
filter,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)。
nat,这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:
PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。
mangle这个表用来对指定的包进行修改。
它有两个内建规则:
PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。
OPTIONS
这些可被iptables识别的选项可以区分不同的种类。
COMMANDS
这些选项指定执行明确的动作:
若指令行下没有其他规定,该行只能指定一个选项.对于长格式的命令和选项名,所用字母长度只要保证iptables能从其他选项中区分出该指令就行了。
-A-append
在所选择的链末添加一条或更多规则。
当源(地址)或者/与目的(地址)转换为多个地址时,这条规则会加到所有可能的地址(组合)后面。
-D-delete
从所选链中删除一条或更多规则。
这条命令可以有两种方法:
可以把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则。
-R-replace
从选中的链中取代一条规则。
如果源(地址)或者/与目的(地址)被转换为多地址,该命令会失败。
规则序号从1开始。
-I-insert
根据给出的规则序号向所选链中插入一条或更多规则。
所以,如果规则序号为1,规则会被插入链的头部。
这也是不指定规则序号时的默认方式。
-L-list
显示所选链的所有规则。
如果没有选择链,所有链将被显示。
也可以和z选项一起使用,这时链会被自动列出和归零。
精确输出受其它所给参数影响。
-F-flush
清空所选链。
这等于把所有规则一个个的删除。
--Z-zero
把所有链的包及字节的计数器清空。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iptables 入门