iptables/netfilter????tcp_wrapper

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables/netfilter????tcp_wrapper相关的知识,希望对你有一定的参考价值。

?????????etc   pac   nodeps   ??????   ??????   ??????   ??????   ??????   update   

iptables/netfilter???

Firewall?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????
???????????????

????????????????????????????????????
?????????????????????????????????????????????NetScreen???CheckPoint????????????

iptables(netfilter)
netfilter???kernel
hooks function?????????????????????
iptables???cli
rules untility

hooks function?????????????????????
input
output
forward
prerouting
postrouting

???????????????
???????????????PREROUTING --> INPUT ==>?????????????????????
????????????????????????????????????==> OUTPUT --> POSTROUTING???
?????????PREROUTING --> FORWARD --> POSTROUTING

???????????????table???
filter????????????????????????
nat???network address translation????????????????????????????????????IP?????????IP????????????????????????
mangle?????????????????????????????????
raw?????????nat????????????????????????????????????

?iptables???
1???????????????PREROUTING???INPUT???FORWARD???OUTPUT???POSTROUTING?????????????????????????????????hook function??????
2????????????????????????????????????????????????????????????????????????????????????????????????

???<==>??????
filter???INPUT???FORWARD???OUTPUT
nat???PREROUTING???INPUT???OUTPUT???POSTROUTING
mangle???PREROUTING???INPUT???FORWARD???OUTPUT???POSTROUTING
raw???PREROUTING???OUTPUT

???????????????????????????????????????????????????????????????????????????-->?????????raw>managle>nat>filter

??????????????????????????????

1?????????????????????????????????????????????????????????????????????INPUT?????????FORWARD?????????????????????????????????????????????????????????

2???????????????????????????????????????????????????????????????????????????

?????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
a??????????????????
1?????????????????????
2?????????????????????
b???????????????(target)???
1?????????????????????
2?????????????????????
3????????????????????????

??????????????????????????????
(1) ??????????????????????????????????????????????????????
(2) ??????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????

1????????????????????????????????????????????????????????????????????????

2???????????????????????????????????????????????????????????????????????????????????????

3?????????????????????????????????????????????????????????????????????

4????????????????????????

Centos 7
~]# systemctl stop firewalld.service
~]# systemctl disable firewalld.service

??????????????????iptables???????????????????????????????????????????????????????????????????????????????????????at??????crontab????????????????????????????????????????????????????????????

???????????????iptables ? [-t table] ? SUBCOMMAND ? chain ? [-m matchname [per-match-options]] ? -j targetname [per-target-options]

-t table???
raw, mangle, nat, [filter]

SUBCOMMAND???
????????????
-N???new, ???????????????????????????
-F???flush??????????????????????????????
-X??? delete??????????????????????????????
-Z???zero???????????????????????????iptables???????????????????????????????????????(1) ??????????????????????????????(2) ??????????????????????????????????????????
-P???Policy???????????????????????????filter??????????????????????????????????????????ACCEPT????????????DROP????????????REJECT?????????
-E???rename???????????????????????????????????????????????????????????????0????????????????????????????????????????????????????????????

???????????????
-A???append?????????????????????
-I???insert, ??????????????????????????????????????????????????????
-D???delete????????????????????????
-R???replace???????????????????????????????????????
?????????????????????(1) ?????????????????????(2) ?????????????????????
?-S???selected??????iptables-save???????????????????????????????????????

?????????
-L???list, ????????????????????????????????????
-n???numeric??????????????????????????????????????????
-v???verbose??????????????????
-vv, -vvv
-x???exactly???????????????????????????????????????????????????????????????
--line-numbers????????????????????????????????????

chain???
PREROUTING???INPUT???FORWARD???OUTPUT???POSTROUTING

???????????????
???????????????????????????????????????????????????iptables/netfilter???????????????
[!] -s, --source ?address[/mask][,...]????????????????????????IP???????????????????????????????????????????????????
[!] -d, --destination address[/mask][,...]???????????????????????????IP???????????????????????????????????????????????????
[!] -p, --protocol protocol
protocol: tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh or ?"all"
{tcp|udp|icmp}
[!] -i, --in-interface name?????????????????????????????????????????????????????????????????????????????????????????????PREROUTING???INPUT???FORWARD??????
[!] -o, --out-interface name?????????????????????????????????????????????????????????????????????????????????????????????FORWARD???OUTPUT???POSTROUTING??????

????????????????????? ????????????????????????????????????????????????????????????/usr/lib64/xtables/
?????????????????????????????????-m???????????????????????????????????????????????????-p??????????????????????????????
[!] -p, --protocol protocol
??????protocol: tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh or ?"all"
{tcp|udp|icmp}
1???-p tcp?????????????????????-m tcp????????????????????????
[!] --source-port, --sport port[:port]??????????????????tcp?????????????????????????????????????????????
[!] --destination-port,--dport port[:port]??????????????????tcp????????????????????????????????????????????????
[!] --tcp-flags ?LIST1 ?LIST2?????????LIST1?????????????????????????????????????????????LIST2???????????????????????????????????????1????????????????????????0????????????LIST1??????????????????????????????
SYN???ACK???FIN???RST???PSH???URG

????????????--tcp-flags ?SYN,ACK,FIN,RST ? ? SYN????????????
????????????????????????SYN,ACK,FIN,RST???????????????SYN?????????1?????????????????????0???
[!] --syn?????????????????????????????????????????????--tcp-flags ?SYN,ACK,FIN,RST ?SYN??????

2???-p udp ?????????????????????-m udp????????????????????????
[!] --source-port, --sport port[:port]??????????????????????????????????????????????????????
[!] --destination-port,--dport port[:port]?????????????????????????????????????????????????????????

3???-p icmp ?????????????????????-m icmp????????????????????????
[!] --icmp-type {type[/code]|typename}
echo-request???8/0echo??????
echo-reply???0/0 echo??????

??????????????????????????????????????????????????? [-m matchname [per-match-options]]???

???????????????
CentOS 6: man iptables
CentOS 7: man iptables-extensions

1???multiport??????
???????????????????????????????????????????????????15????????????

[!] --source-ports,--sports port[,port|,port:port]...???????????????????????????
[!] --destination-ports,--dports port[,port|,port:port]...??????????????????????????????
[!] --ports port[,port|,port:port]...????????????????????????

~]# iptables -A INPUT -s 172.16.0.0/16 -d 172.16.100.67 -p tcp -m multiport --dports 22,80 -j ACCEPT

2???iprange??????
????????????????????????????????????????????????????????????ip????????????????????????

[!] --src-range from[-to]??????IP???????????????
[!] --dst-range from[-to]?????????IP???????????????

~]# iptables -A INPUT -d 172.16.100.67 -p tcp --dport 80 -m iprange --src-range 172.16.100.5-172.16.100.10 -j DROP

3???string??????
???????????????????????????????????????????????????????????????

--algo {bm|kmp}?????????????????????????????????
bm???Boyer-Moore
kmp???Knuth-Pratt-Morris
[!] --string pattern???????????????????????????????????????
[!] --hex-string pattern???????????????????????????????????????16???????????????

~]# iptables -A OUTPUT -s 172.16.100.67 -d 172.16.0.0/16 -p tcp --sport 80 -m string --algo bm --string ???gay??? -j REJECT

4???time??????
???????????????????????????????????????????????????????????????????????????

--datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]]?????????????????????
--datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]?????????????????????

--timestart hh:mm[:ss]???????????????????????????
--timestop hh:mm[:ss]???????????????????????????

[!] --monthdays day[,day...]?????????????????????????????????
[!] --weekdays day[,day...]?????????????????????????????????

--kerneltz?????????????????????????????????????????????UTC???

~]# iptables -A INPUT -s 172.16.0.0/16 -d 172.16.100.67 -p tcp --dport 80 -m time --timestart 14:30 --timestop 18:30 --weekdays Sat,Sun --kerneltz -j DROP

5???connlimit??????
??????????????????IP?????????????????????????????????

--connlimit-upto n??????????????????????????????n????????????
--connlimit-above n????????????????????????n????????????

~]# iptables -A INPUT -d 172.16.100.67 -p tcp --dport 21 -m connlimit --connlimit-above 8 ?-j REJECT

6???limit??????
??????????????????????????????????????????????????????????????????

?????????????????????

--limit rate[/second|/minute|/hour|/day]???????????????
--limit-burst number ????????????????

~]# iptables -I INPUT -d 172.16.100.67 -p icmp --icmp-type 8 -m limit --limit 3/minute --limit-burst 5 -j ACCEPT
~]# iptables -I INPUT 2 -p icmp -j REJECT

7???state??????
?????????????????????????????????????????????????????????

conntrack????????????????????????????????????????????????????????????????????????????????????
NEW???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
ESTABLISHED???NEW?????????????????????????????????????????????????????????????????????????????????????????????????????????
RELATED???????????????????????????ftp?????????????????????????????????????????????????????????
INVALID?????????????????????
UNTRACKED?????????????????????????????????????????????????????????????????????????????????????????????

[!] --state state

~]# ?iptables -A INPUT -d 172.16.100.67 -p tcp -m multiport --dports 22,80 -m state --state NEW,ESTABLISHED -j ACCEPT
~]# iptables -A OUTPUT -s 172.16.100.67 -p tcp -m multiport --sports 22,80 -m state --state ESTABLISHED -j ACCEPT

????????????????????????????????????????????????????????????????????????
/proc/sys/net/nf_contrack_max

sysctl -w net.nf_contrack_max 300000
echo "300000" > /proc/sys/net/nf_contrack_max

????????????conntrack????????????????????????????????????/proc/sys/net/nf_contrack_max???????????????????????????????????????????????????????????????/proc/net/nf_conntrack????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???1?????????nf_contrack_max?????????
???2?????????nf_contrack_max????????????????????????
?????????????????????????????????????????????/proc/sys/net/netfilter/?????????

????????????????????????????????????????????????
/proc/net/nf_conntrack

???????????????????????????????????????
/proc/sys/net/netfilter/

iptables?????????????????????????????????/proc/sys/net/ipv4/ip_conntrack_max??????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????????????????1?????????
(1) ??????nf_conntrack_max ???
vi /etc/sysctl.conf
net.ipv4.nf_conntrack_max = 393216
net.ipv4.netfilter.nf_conntrack_max = 393216

(2) ??????? nf_conntrack timeout??????
vi /etc/sysctl.conf
net.ipv4.netfilter.nf_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

iptables -t nat -L -n

???????????????????????????ftp?????????
(1) ??????ftp??????????????????????????????
~]# modprobe ?nf_conntrack_ftp

(2) ??????????????????(??????Server?????????172.16.100.67)???
~]# iptables -A INPUT -d 172.16.100.67 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
~]# iptables -A OUTPUT -s 172.16.100.67 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT

(3) ??????????????????(??????Server?????????172.16.100.67)???
~]# iptables -A INPUT -d 172.16.100.67 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
~]# iptables -I OUTPUT -s 172.16.100.67 -m state --state ESTABLISHED -j ACCEPT

???????????????
?????????????????????????????????????????????????????????????????????????????????????????????
(1) ???????????????????????????????????????ESTABLISHED??????????????????
(2) ???????????????????????????????????????ESTABLISHED??????????????????
(3) ??????????????????????????????
(4) ???????????????????????????????????????????????????????????????????????????

???????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????

?????????????????????target??????RETURN???

????????????????????????
??????iptables???????????????????????????????????????????????????????????????kernel???????????????

???????????????
?????????????????????????????????
CentOS 6???
???]# service ?iptables ?save
??????????????????/etc/sysconfig/iptables????????????

~]# iptables-save ?> ?/PATH/TO/SOME_RULES_FILE

CentOS 7:
~]# iptables-save ?> ?/PATH/TO/SOME_RULES_FILE

??????????????????????????????????????????
~]# iptables-restore < ?/PATH/FROM/SOME_RULES_FILE

CentOS 6???
~]# service ?iptables ?restart
????????????/etc/sysconfig/iptables?????????????????????

???????????????????????????????????????
(1) ??????????????????iptables?????????????????????????????????????????????
/etc/rc.d/rc.local??????????????????????????????
/PATH/TO/SOME_SCRIPT_FILE

(2) ????????????????????????????????????????????????????????????????????????????????????
/etc/rc.d/rc.local???????????????
iptables-restore < /PATH/FROM/IPTABLES_RULES_FILE

CentOS 7???
???????????????iptables??????????????????firewalld????????????????????????firewalld-cmd, ?firewalld-config

??????firewalld???
https://www.ibm.com/developerworks/cn/linux/1507_caojh/index.html

???????????????
-j targetname [per-target-options]
ACCEPT
DROP
REJECT
RETURN????????????????????????
REDIRECT?????????????????????
LOG??????????????????
MARK????????????????????????
DNAT????????????????????????
SNAT?????????????????????
MASQUERADE??????????????????

LOG?????????????????????????????????????????????
--log-level level ? ?????????????
emerg, alert, crit, error, warning, notice, info, debug.
--log-prefix prefix ????????????????

iptables -I FORWARD -s 10.0.1.0/24 -p tcp -m multiport --dports 80???21???22???23 -m state --state NEW -j LOG --log-prefix ??????new connctions??????

RETURN:
??????????????????

REDIRECT???
????????????nat??????PREROUTING???POSTROUTING?????????????????????????????????????????????
--to-ports

iptables -t nat -A PREROUTING -d 172.18.100.67 -p tcp --dport 80 -j REDIRECT --to-ports 8080

nat: network address translation?????????????????????????????????+???????????????
snat: source nat
??????IP???????????????IP?????????
???????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????IP????????????????????????????????????
?????????????????????IP??????nat?????????????????????????????????????????????????????????

dnat: destination nat
??????IP??????????????????IP?????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????
??????????????????IP??????nat?????????????????????????????????????????????????????????

pnat: port nat??????????????????

snat???POSTROUTING
???????????????????????????????????????????????????????????????????????????
dnat???PREROUTING
?????????????????????????????????????????????????????????????????????????????????????????????

nat??????target???
SNAT
--to-source [ipaddr[-ipaddr]][:port[-port]]
--random
DNAT
--to-destination [ipaddr[-ipaddr]][:port[-port]]
--random
MASQUERADE
--to-ports port[-port]
--random

SNAT?????????
~]# iptables -t nat -A POSTROUTING -s 192.168.12.0/24 -j SNAT --to-source 172.16.100.67

MASQUERADE???????????????nat??????POSTROUTING??????????????????????????????IP?????????????????????
????????????????????????????????????????????????????????????MASQUERADE???????????????????????????????????????

~]# iptables -t nat -A POSTROUTING -s 192.168.12.0/24 -j MASQUERADE

DNAT?????????
~]# iptables -t nat -A PREROUTING -d 172.16.100.67 -p tcp --dport 80 -j DNAT --to-destination 192.168.12.77

~]# iptables -t nat -A PREROUTING -d 172.16.100.67 -p tcp --dport 80 -j DNAT --to-destination 192.168.12.77:8080
~]# iptables -t nat -A PREROUTING -d 172.16.100.67 -p tcp --dport 22012 -j DNAT --to-destination 192.168.12.78:22

REDIRECT?????????????????????
web: 8080
80 --> 8080

??????????????????
iptables -t nat -A POSTROUTING -s localnet ! -d localnet -j SNAT --to-source extip
iptables -t nat -A POSTROUTING -s localnet ! -d localnet -j MASQUERADE

?????????????????????
iptables -t nat -A PREROUTING -d extip -p tcp|udp --dport PORT -j ?DNAT --to-destination ?INTERSERVERIP[:PORT]

???????????????iptables???recent???????????????DOS??????: 22???????????????????????????????????????????????????????????????????????????IP
ssh: ???????????????

iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP

iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j LOG --log-prefix "SSH Attach: "
iptables -I INPUT ?-p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP

1.??????connlimit????????????IP??????????????????3??????????????????NAT?????????????????????????????????????????????????????????

2.??????recent???state???????????????IP???300s????????????????????????2?????????????????????????????????????????????????????????

???????????????????????????????????????

1.????????????????????????tcp 22????????????????????????????????????SSH
--set ????????????????????????IP?????????IP??????????????????????????????????????????

2.???????????????SSH????????????IP???300s???????????????3?????????????????????IP????????????
--update ??????????????????????????????????????????
--seconds?????????--rcheck??????--update????????????
--hitcount?????????--rcheck??????--update????????????

3.iptables????????????/proc/net/xt_recent/SSH

?????????????????????????????????????????????
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --name SSH --second 300 --hitcount 3 -j LOG --log-prefix "SSH Attack"

??????????????????
layer7???????????????????????????????????????????????????http???qq????????????

CentOS 6???

http://ftp.redhat.com/redhat/linux/enterprise/6Server/en/os/SRPMS/

layer7?????????????????????

iptables???????????????????????????

?????????layer7
?????????????????????

iptables/netfilter
iptables -m state,
netfilter state

???????????????netfilter????????????layer7?????????????????????
???iptables??????????????????layer7???????????????iptables

diff/patch?????????????????????

diff???Unix????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????# diff <??????????????????> <??????????????????>

?????????????????????diff??????????????????
?????? ???????????????normal diff???
??????
??????????????????context diff???
??????* ???????????????unified diff???

1??????????????????diff
????????????file1???????????????????????????file2????????????????????????????????????????????????????????????
?????? # diff file1 file2
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????file1??????n????????????????????????"c"???????????????????????????????????????change????????????????????????"??????"???a?????????addition??????"??????"???d?????????deletion??????

2?????????????????????diff
????????????80?????????????????????????????????????????????BSD?????????Unix????????????diff?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????diff??????????????????????????????-c????????????context??????
?????? # diff -c f1 f2
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????"***"???????????????????????????"---"??????????????????????????????????????????15?????????????????????????????????????????????????????????????????????????????????????????????????????????file1???
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????!????????????????????????????????????????????????-????????????????????????????????????????????????+??????????????????????????????
??????????????????????????????????????????file2???

3??????????????????diff
????????????????????????????????????????????????????????????diff??????????????????????????????????????????????????????1990??????GNU diff???????????????"????????????"???diff??????f1???f2????????????????????????????????????
???????????????????????????u???????????????unified??????
??????# diff -u f1 f2br/>?????????????????????????????????????????????????????????"---"???????????????????????????"+++"??????????????????????????????????????????????????????????????????@???????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????3???????????????????????????????????????????????????????????????????????????"????????????"?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

diff
-u

patch

?????????????????????patch???diff?????????????????????patch?????????diff?????????????????????????????????????????????patch??????????????????diff????????????????????????????????????patch????????????patch????????????????????????????????????????????????????????????????????????????????????diff???????????????????????????patch?????????????????????diff????????????????????????????????????????????????????????????

patch??????????????????
patch [options] [originalfile] [patchfile]

??????patchfile??????????????????????????????patchfile???????????????originalfile??????????????????patchfile?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????patchfile???????????????????????????????????????????????????????????????patch??????????????????????????????????????????

patch?????????????????????????????????????????????????????????diff????????????????????????patch??????????????????????????????diff????????????"?????????"???"????????????"????????????????????????"Index???"?????????????????????????????????????????????

-p?????????????????????????????????????????????????????????????????????????????????-p???????????????????????????????????????-p0?????????-p 0???????????????????????????????????????-p1??????????????????"/"????????????????????????????????????/usr/src/linux-2.4.15/Makefile??????????????????????????????-p3??????????????????linux-2.4.15/Makefile????????????patch????????????

patch
-p
-R

mockbuild

?????????????????????

1????????????????????????

useradd mockbuild

rpm -ivh kernel-2.6.32-431.5.1.x86_64.el6.src.rpm

cd rpmbuild/SOURCES

tar linux-2.6.32-*.tar.gz -C /usr/src

cd /usr/src

ln -sv

2?????????????????????

tar xf netfilter-layer7-v2.23.tar.bz2

cd /usr/src/linux

patch -p1 < /root/netfilter-layer7-v2.23/kernel-2.6.32-layer7-2.23.patch

cp /boot/config-* ?.config

make menuconfig

?????????????????????layer7??????
Networking support ??? Networking Options ???Network packet filtering framework ??? Core Netfilter Configuration
<M> ????layer7??? match support

3????????????????????????

make

make modules_install

make install

4?????????????????????????????????

5?????????iptables

tar xf iptables-1.4.20.tar.gz

cp /root/netfilter-layer7-v2.23/iptables-1.4.3forward-for-kernel-2.6.20forward/* /root/iptables-1.4.20/extensions/

cp /etc/rc.d/init.d/iptales /root

cp /etc/sysconfig/iptables-config /root

rpm -e iptables iptables-ipv6 --nodeps

./configure ?--prefix=/usr ?--with-ksource=/usr/src/linux

make && make install

cp /root/iptables /etc/rc.d/init.d

cp /root/iptables-config /etc/sysconfig

6??????layer7?????????????????????????????????????????????

tar zxvf l7-protocols-2009-05-28.tar.gz

cd l7-protocols-2009-05-28

make install

7???????????????layer7??????

ACCT????????????????????????????????????????????????????????????????????????????????????nf_conntrack????????????????????????
net.netfilter.nf_conntrack_acct = 1

l7-filter uses the standard iptables extension syntax

iptables [specify table & chain] -m layer7 --l7proto [protocol name] -j [action]

iptables -A FORWARD -m layer7 --l7proto qq -j REJECT

???????????????
make menuconfig
make -j #
make modules_install
make install

????????????????????????

?????????xt_layer7.ko?????????nf_conntrack.ko??????

?tcp_wrapper???tcp?????????
?????????tcp??????????????????????????????????????????????????????????????????????????????????????????????????????????????????libwrap

??????????????????????????????tcp_wrapper??????????????????????????????
(1) ???????????????ldd?????????
ldd $(which COMMAND) | grep libwrap
(2) ???????????????strings????????????????????????????????????????????????????????????hosts.allow???hosts.deny?????????
strings $(which COMMAND)

???????????????????????????xinetd????????????libwrap.so???

????????????libwrap??????????????????????????????
????????????/etc/hosts.allow??????????????????????????????????????????????????????
????????????????????????????????????
?????????????????????/etc/hosts.deny??????????????????????????????????????????????????????
?????????????????????????????????????????????
??????????????????????????????

?????????????????????
daemon_list???client_list [:options]

daemon_list???
(1) ????????????????????????????????????????????????????????????vsftpd???
(2) ????????????????????????????????????????????????
?????????sshd, vsftpd
(3) ALL???????????????tcp_wrapper??????????????????

client_list???
???1???IP?????????????????????
???2??????????????????????????????????????????????????????172.18.0.0/255.255.0.0?????????????????????????????????????????????172.16. ??????172.16.0.0/255.255.0.0????????????????????????????????????
???3???ALL??????????????????
???4???KNOWN??????????????????????????????UNKNOWN???PARANOID???????????????????????????
???5???EXCEPT????????????
???????????????172.18???????????????172.18.100??????????????????172.18.100.68??????????????????except???????????????
vsftpd??? 172.18. EXCEPT 172.18.100.0/255.255.255.0 EXCEPT 172.18.100.68

:options
deny????????????????????????hosts.allow?????????
allow????????????????????????hosts.deny?????????
spawn?????????????????????????????????
?????????sshd: ALL :spawn /bin/echo $(date) login attempt from %c to %s, %d >> /var/log/sshd.log

?????????????????????
%c??? client ip
%s: [email protected]_ ip
%d: daemon name
%p???daemon process id
?????????????????????????????????man hosts_access

?????????vsftpd????????????172.16.0.0/255.255.0.0?????????????????????
? sshd????????????172.16.0.0/255.255.0.0????????????????????????????????????172.16.100.6???
/etc/hosts.allow:
sshd: 172.16. ?EXCEPT ?172.16.100.6
vsftpd??? 172.16.

/etc/hosts.deny:
sshd: ALL
vsftpd???ALL


以上是关于iptables/netfilter????tcp_wrapper的主要内容,如果未能解决你的问题,请参考以下文章

iptables

iptables防火墙

iptables netfilter

软件防火墙之iptables/netfilter概念篇(一)

防火墙IPtables管理工具介绍

iptables命令的详解