日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

iptables tcp wrappers

發(fā)布時(shí)間:2024/4/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iptables tcp wrappers 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.TCP Wrappers

1.1 tcp wrappers概述

tcp wrappers為由xinetd這支superdaemon管理的服務(wù)提供了安全性。由xinetd super daemon管理的服務(wù)以及支持libwrap模塊的服務(wù)都可以使用它tcp wrappers進(jìn)行安全控制。

可以通過(guò)使用tcp wrappers結(jié)合防火墻(iptables)提供更加安全的系統(tǒng)保護(hù)。

1.2tcp wrappers的配置文件

tcp wrappers的配置文件有兩個(gè),一個(gè)是/etc/hosts.allow,一個(gè)是/etc/hosts.deny

/etc/hosts.allow:允許指定的客戶端對(duì)指定的服務(wù)訪問(wèn)。

/etc/hosts.deny:拒絕指定的客戶端對(duì)指定的服務(wù)訪問(wèn)。

1.3確認(rèn)服務(wù)是否支持tcp wrappers

Linux系統(tǒng)下面并不是所有的服務(wù)都支持tcp wrappers,由xinetd管理的服務(wù)都支持tcp wrappers,其他的服務(wù)可以通過(guò)ldd指令來(lái)查看。ldd指令用于查看二進(jìn)制指令所需要的動(dòng)態(tài)鏈接庫(kù),如果服務(wù)有支持libwrap.so這個(gè)動(dòng)態(tài)鏈接庫(kù),則表示該服務(wù)支持TCP Wrappers

[root@server1 ~]#ldd $(which sshd) | grep libwrap

? ? ? ?libwrap.so.0 => /lib64/libwrap.so.0(0x00002b5edee66000)

[root@server1 ~]#

上述表明sshd這個(gè)服務(wù)是支持tcp wrappers的。

如果沒(méi)有libwrap,則表示該服務(wù)不支持tcp wrappers

1.4tcp wrappers的規(guī)則定義

/etc/hosts.allow:允許指定的客戶端對(duì)指定的服務(wù)訪問(wèn)。

/etc/hosts.deny:拒絕指定的客戶端對(duì)指定的服務(wù)訪問(wèn)。

修改完成之后,不需要重新啟動(dòng)服務(wù)經(jīng)會(huì)立即生效。

匹配規(guī)則如下:

1./etc/hosts.allow/etc/hosts.deny無(wú)匹配記錄時(shí),訪問(wèn)可以通過(guò)。

2./etc/hosts.allow有匹配記錄時(shí)訪問(wèn)可以通過(guò)。

3./etc/hosts.allow/etc/hosts.deny都匹配時(shí)訪問(wèn)可以通過(guò)。

總結(jié)起來(lái)就是:

1.默認(rèn)策略是允許,即沒(méi)有在hosts.allowhosts.deny中出現(xiàn)的,允許通過(guò)。

2.先查看hosts.allow,在查看hosts.deny


訪問(wèn)控制規(guī)則:

每一個(gè)控制文件都可以包含多行,按照定義的順序處理每一行,找到匹配后就跳出該規(guī)則。以#開始的表示注釋,如果一行寫不完可以使用反斜線(\),進(jìn)行脫跳,表示上一行的延續(xù)。


hosts.allowhosts.deny定義格式如下:

daemon_list : client_list [ : shell_command ]deny|allow

daemon_list:指定由TCP wrappers需要控制的服務(wù)名稱。如果該服務(wù)是由xinetd管理的服務(wù),要寫啟動(dòng)腳本的名稱,如/etc/xinetd.d/telnet,否則的話則直接寫服務(wù)名稱,如sshd

下述為tftp服務(wù)的配置文件:/etc/xinetd.d/tftp

如果要想使用tcp wrappers控制tftp的話,需要在hosts.allowhosts.deny文件中,寫上tftp的啟動(dòng)腳本:/use/sbin/in.tftpd

service tftp

{

? ? ? ?socket_type ? ? ? ? ? ? = dgram

? ? ? ?protocol ? ? ? ? ? ? ? ?= udp

? ? ? ?wait ? ? ? ? ? ? ? ? ? ?= yes

? ? ? ?user ? ? ? ? ? ? ? ? ? ?= root

server ? ? ? ? ? ? ? ? ?= /usr/sbin/in.tftpd

? ? ? ?server_args ? ? ? ? ? ? = -s /tftpboot

? ? ? ?disable ? ? ? ? ? ? ? ? = no

? ? ? ?per_source ? ? ? ? ? ? ?= 11

? ? ? ?cps ? ? ? ? ? ? ? ? ? ? = 100 2

? ? ? ?flags ? ? ? ? ? ? ? ? ? = IPv4

}


client_list指定tcpwrappers需要控制哪些客戶端對(duì)哪些服務(wù)的訪問(wèn)。

可以用如下方法表示:

單一主機(jī):192.168.0.1,表示的是192.168.0.1這臺(tái)主機(jī)。

指定網(wǎng)段:192.168.0.或者是192.168.0.0/255.255.255.0表示的是192.168.0.0/24整個(gè)網(wǎng)段。

指定DNS后綴:.frame.com,所有DNS后綴為.frame.com的主機(jī)。

指定FQDNserver.frame.com ,表示的是FQDNserver.frame.com的主機(jī)。

所有客戶端:ALL

操作符:

EXCEPT:除……之外。如list1 EXCEPTlist2,匹配list1里面的機(jī)器,除了list2.

EXCEPT可以用在daemon_listclient_list中。

shell_command

shell command最好使用絕對(duì)路徑。在執(zhí)行shellcommand時(shí),系統(tǒng)會(huì)啟動(dòng)一個(gè)/bin/sh的子進(jìn)程去執(zhí)行這些指令,所有的輸入、輸出、錯(cuò)誤輸出都被送到/dev/null里面。如果想在背景下執(zhí)行的話,可以加上&

shell command中的變量:

%a (%A): The client (server)host address.

? ? ? %c: Client information: user@host,user@address, a host name, or just an address, ?depending ?on ?how ?much information is available.

? ? ? %d:The daemon process name

? ? ? %h (%H):The client (server) host name oraddress, if the host name is unavailable.

? ? ? %n (%N):The client (server) host name(or "unknown" or "paranoid").

? ? ? %p:The daemon process id.

? ? ? %s:Server ?information: daemon@host, daemon@address, or just a daemon name, depending on howmuch information is available.

? ? ? %u:The client user name (or"unknown").

? ? ? %%:Expands to a single ‘%′ character.

執(zhí)行外部指令:spawn

spawn的格式為:

spawn (shell command)

可以使用spawn執(zhí)行一些外部指令,可以實(shí)現(xiàn)日志的記錄以及其他的一些信息,如:

[root@server1 tmp]#cat /etc/hosts.allow

#

# hosts.allow ? This file describes the names of the hostswhich are

# ? ? ? ? ? ? ? allowed to use the local INETservices, as decided

# ? ? ? ? ? ? ? by the '/usr/sbin/tcpd' server.

#


sshd:172.17.100.1:spawn(/bin/echo %a from %h attempted to access %d >> /tmp/sshd.log ) :allow

[root@server1 tmp]#cat sshd.log

172.17.100.1from 172.17.100.1 attempted to access sshd

[root@server1 tmp]#


twist:使用 twist 選項(xiàng)發(fā)送消息給被拒絕的客戶端。twist 選項(xiàng)的基本格式是:

twist ?shell command

Twist 的實(shí)際動(dòng)作是拒絕訪問(wèn)。Twist 實(shí)際上使用指定的操作替換當(dāng)前服務(wù)。在以下示例中,使用 echo 命令將拒絕消息發(fā)送給被拒絕的客戶端。如果 IP 192.168.9.14 的客戶端試圖用 telnet ssh 連接,那么該示例會(huì)發(fā)送消息給它。

sshd,telnetd:192.168.9.14:twist /bin/echo "Your connection has been refused\

\nAccess denied andthe event is logged"

注意:twist必須寫在最后,后面不能有allowdeny

2.Iptables

2.1Iptables工作流程

iptables實(shí)現(xiàn)不同的功能,是通過(guò)不同的表來(lái)實(shí)現(xiàn)的。默認(rèn)情況下有3張表:filter表、nat表、mangle表,每一張表又包含若干鏈(chain)。

filter表:對(duì)經(jīng)過(guò)(進(jìn)出)防火墻的數(shù)據(jù)包進(jìn)行過(guò)濾。

nat表:進(jìn)行地址轉(zhuǎn)換。

mangle表:對(duì)數(shù)據(jù)包進(jìn)行修改。


每一個(gè)chain都是一個(gè)檢查清單,它會(huì)利用預(yù)先設(shè)置好的規(guī)則對(duì)數(shù)據(jù)包進(jìn)行檢查,如果判斷的結(jié)果與定義的結(jié)果不符合,則交由鏈中的下一個(gè)規(guī)則繼續(xù)判斷,如果判斷到最后都沒(méi)有與定義的規(guī)則進(jìn)行匹配的話,則與默認(rèn)的規(guī)則進(jìn)行匹配,從而決定是放行還是拒絕。通常情況下,默認(rèn)規(guī)則都是拒絕。

Iptables的工作流程如下:


NAT表的3條鏈:

PREROUTING:修改即將到來(lái)的數(shù)據(jù)包,路由判斷前,DNAT

OUTPUT:修改在路由之前本地生成的數(shù)據(jù)包,路由判斷前,DNAT

POSTROUTING:修改即將出去的數(shù)據(jù)包,路由判斷后,SNAT

2.2Iptables表和鏈的功能

1.filter

filter表主要用于對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾。可以進(jìn)行的動(dòng)作有:ACCEPT/REJECT/DROP/LOG/RETURNfilter表也是默認(rèn)操作的表。

INPUT鏈:過(guò)濾所有目標(biāo)地址是本機(jī)的數(shù)據(jù)包。

OUTPUT鏈:過(guò)濾所有由本地所產(chǎn)生的數(shù)據(jù)包,源地址是本地的數(shù)據(jù)包。

FORWARD鏈:過(guò)濾所有經(jīng)過(guò)本地的數(shù)據(jù)包。源地址和目的地址都不是本機(jī)的數(shù)據(jù)包。

2.nat

nat表用于網(wǎng)絡(luò)地址轉(zhuǎn)換。屬于一個(gè)流的數(shù)據(jù)包只會(huì)經(jīng)過(guò)這個(gè)表一次,如果第一個(gè)數(shù)據(jù)包被允許進(jìn)行NATmasquerade,那么其他的數(shù)據(jù)包都會(huì)自動(dòng)的進(jìn)行同樣的動(dòng)作。

DNAT:改變數(shù)據(jù)包的目的地址,使數(shù)據(jù)包重路由到某臺(tái)主機(jī)。

SNAT:改變數(shù)據(jù)包的源地址。

MASQUERADE:和SNAT一樣,只有一個(gè)可用的IP地址,端口復(fù)用。

3條鏈:

PREROUTING:路有前,做的是DNAT

POSTROUTING:路由后,做的是SNAT

OUTPUTDNAT,改變本地產(chǎn)生數(shù)據(jù)包的目的地址。

3.mangle

用于對(duì)數(shù)據(jù)包進(jìn)行修改,不常用。

2.3Iptables的狀態(tài)機(jī)制

四種狀態(tài):NEWESTABLISHEDRELATEDINVALID

INVALID意味著這個(gè)包沒(méi)有已知的流或連接與之關(guān)聯(lián),也可能是它包含的數(shù)據(jù)或包頭有問(wèn)題。

ESTABLISHED意思是包是完全有效的,而且屬于一個(gè)已建立的連接,這個(gè)連接的兩端都已經(jīng)有數(shù)據(jù)發(fā)送。

NEW表示包將要或已經(jīng)開始建立一個(gè)新的連接,或者是這個(gè)包和一個(gè)還沒(méi)有在兩端都有數(shù)據(jù)發(fā)送的連接有關(guān)。是防火墻收到的第一個(gè)數(shù)據(jù)包。

RELATED說(shuō)明包正在建立一個(gè)新的連接,這個(gè)連接是和一個(gè)已建立的連接相關(guān)的。比如,FTP data transferICMP error 和一個(gè)TCPUDP連接相關(guān)。注意NEW狀態(tài)并不在試圖建立新連接的TCP包里尋找SYN標(biāo)記,因此它不應(yīng)該不加修改地用在只有一個(gè)防火墻或在不同的防火墻之間沒(méi)有啟用負(fù)載平衡的地方。

2.4Iptables的配置

啟動(dòng)iptables/etc/init.d/iptables start

[root@server1 ~]#/etc/init.d/iptables start

Flushing firewallrules: [ ?OK ?]

Setting chains topolicy ACCEPT: nat filter [ ?OK ?]

Unloading iptablesmodules: [ ?OK ?]

Applying iptablesfirewall rules: [ ?OK ?]

Loading additionaliptables modules: ip_conntrack_netbios_ns [ OK ?]

[root@server1 ~]#

設(shè)置開機(jī)自動(dòng)啟動(dòng):chkconfig iptables --level 35 on

[root@server1 ~]#chkconfig iptables --level 35 on

[root@server1 ~]#

定義iptables策略:

iptables [-t table] command [match][target|jump]

-t table:指明需要操作的表。默認(rèn)為filter表。

commandiptables所做的操作。比如新增一條規(guī)則、刪除一條規(guī)則等

match:詳細(xì)的描述一個(gè)數(shù)據(jù)包的特點(diǎn),五元組,協(xié)議、源IP、目標(biāo)IP、源端口、目標(biāo)端口

target|jump:對(duì)符合指定的數(shù)據(jù)包進(jìn)行的動(dòng)作,如ACCEPTREJECTDROPLOGRETURN


默認(rèn)情況下,Linux系統(tǒng)是不允許進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)的,如果要啟用該功能的話,可以用如下兩種方式:

1.echo 1 >/proc/sys/net/ipv4/ip_forward

這種方式設(shè)置的是臨時(shí)有效。

[root@server1 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward

[root@server1 ~]#

2.vim /etc/sysctl.conf

這種方式設(shè)置的是永久有效。

net.ipv4.ip_forward = 0改為net.ipv4.ip_forward= 1,保存退出,并使用sysctl –p使配置生效。

# Controls IPpacket forwarding

net.ipv4.ip_forward= 1


[root@server1 ~]#sysctl -p

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter= 1

net.ipv4.conf.default.accept_source_route= 0

kernel.sysrq = 0

kernel.core_uses_pid= 1

net.ipv4.tcp_syncookies= 1

kernel.msgmnb =65536

kernel.msgmax =65536

kernel.shmmax =68719476736

kernel.shmall =4294967296

[root@server1 ~]#


iptables所做的操作:

-L:查看所選鏈的所有策略。如果沒(méi)有指定鏈,則顯示指定表中的所有鏈。如果沒(méi)有指定表,則查看filter表。

常用的是:iptables –L –n --line

-A 鏈名稱:在指定的表的指定鏈末尾增加一條新的規(guī)則。

[root@server1 ~]# iptables -t filter -A INPUT -ilo -j ACCEPT

[root@server1 ~]#iptables -t filter -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

1 ? ?ACCEPT ? ?all ?-- ?0.0.0.0/0 ? ? ? ? ? ?0.0.0.0/0 ? ? ? ? ?

[root@server1 ~]#

-D 鏈名稱策略內(nèi)容|策略序號(hào):從所選表的指定鏈中刪除策略。

[root@server1 ~]#iptables -t filter -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

1 ? ?ACCEPT ? ?all ?-- ?0.0.0.0/0 ? ? ? ? ? ?0.0.0.0/0 ? ? ? ? ?

[root@server1 ~]# iptables -D INPUT 1

[root@server1 ~]#iptables -t filter -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

[root@server1 ~]#

-R 鏈名稱策略序號(hào):替換指定表中指定鏈中的某一條策略。

[root@server1 ~]#iptables -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

1 ? ?ACCEPT ? ?all ?-- ?0.0.0.0/0 ? ? ? ? ? ?0.0.0.0/0 ? ? ? ? ?

[root@server1 ~]# iptables -R INPUT 1 -i lo -j REJECT

[root@server1 ~]#iptables -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

1 ? ?REJECT ? ?all ?-- ?0.0.0.0/0 ? ? ? ? ? ?0.0.0.0/0 ? ? ? ? ? reject-with icmp-port-unreachable

[root@server1 ~]#

-I 鏈名稱策略序號(hào):在指定策略的前面插入一條策略,如果沒(méi)有指定策略序號(hào),則默認(rèn)為1,也就是插入在第一個(gè)策略的前面,新插入的策略稱為第一條策略。

[root@server1 ~]#iptables -I INPUT -i eth0 -j ACCEPT

-F 鏈名稱:清空指定鏈中的所有策略,如果沒(méi)有指定鏈名稱,則清空所選表中的所有鏈中的策略。

[root@server1 ~]# iptables -F

[root@server1 ~]#iptables -L INPUT -n --line

Chain INPUT (policyACCEPT)

num ?target ? ?prot opt source ? ? ? ? ? ? ?destination ? ? ? ?

[root@server1 ~]#

-Z 鏈名稱:將指定鏈的所有計(jì)數(shù)器值歸零,如果沒(méi)有指定鏈名,則為所選表的所有鏈。

-N 鏈名稱:創(chuàng)建一個(gè)新的鏈。新鏈的名字不能和已經(jīng)存在的鏈的名字相同。

用戶新定義的鏈會(huì)被優(yōu)先匹配。

[root@server1 ~]# iptables -N ZHANG

[root@server1 ~]#iptables-save

# Generated byiptables-save v1.3.5 on Fri Feb ?716:15:33 2014

*filter

:INPUT ACCEPT[919:74594]

:FORWARD ACCEPT[0:0]

:OUTPUT ACCEPT[1118:111592]

:ZHANG - [0:0]

COMMIT

# Completed on FriFeb ?7 16:15:33 2014

[root@server1 ~]#

-X 鏈名稱:刪除用戶自定義的鏈。如果沒(méi)有指定鏈名稱,則為所選表中所有自定義的鏈。

[root@server1 ~]#iptables -X

-E old-chain-name new-chain-name:對(duì)鏈進(jìn)行重命名。

[root@server1 ~]# iptables -N ZHANG

[root@server1 ~]# iptables -E ZHANG FRAME

[root@server1 ~]#iptables-save

# Generated byiptables-save v1.3.5 on Fri Feb ?716:18:25 2014

*filter

:INPUT ACCEPT[1025:83322]

:FORWARD ACCEPT[0:0]

:OUTPUT ACCEPT[1200:119484]

:FRAME - [0:0]

COMMIT

# Completed on FriFeb ?7 16:18:25 2014

[root@server1 ~]#

-P 鏈名稱:為鏈設(shè)置默認(rèn)策略。

[root@server1 ~]#iptables -P INPUT DROP

[root@server1 ~]#


match:詳細(xì)的描述數(shù)據(jù)包的特點(diǎn)。

-p tcp|udp|icmp……:匹配指定的協(xié)議,如果沒(méi)有指定-p,則表示匹配TCP/UDP/ICMP協(xié)議。

-p tcp:!表示的是排除,除了tcp之外的所有協(xié)議。

-s:指定源IP地址。可以是192.168.0.0192.168.0.0/24192.168.0.0/255.255.255.0這種格式。

-d:指定目標(biāo)IP地址。和-s的格式一樣。

-i:指定進(jìn)來(lái)的網(wǎng)絡(luò)接口,可用在INPUTPREROUTINGFORWARD鏈中。如lo表示loopback口,eth0ppp0等,如果是eth+則表示的是所有的eth接口。

-o:出去的網(wǎng)絡(luò)接口。可以用在OUTPUTPOSTROUTINGFORWARD鏈中。

--sport:源端口。表示端口范圍:A:B,表示從A端口到B端口。:B表示從0B端口。A:表示從A65535端口.

--dport:指定目標(biāo)端口,格式和—sport一樣。

-m multiport --sport:指定多個(gè)不連續(xù)的源端口,最多15個(gè)。

-m multiport --dport:指定多個(gè)不連續(xù)的目標(biāo)端口,最多15個(gè)。

-m multiport --port:指定多個(gè)不連續(xù)的端口,源端口和目標(biāo)端口一樣,最多15個(gè)。

--tcp-flags 檢查標(biāo)記列表條件列表:對(duì)特定的TCP標(biāo)記進(jìn)行匹配。列表內(nèi)部用逗號(hào)隔開,列表之間用空格分開。第一個(gè)參數(shù)指定需要檢查的TCP標(biāo)記,第二個(gè)參數(shù)指定在第一個(gè)列表中出現(xiàn)過(guò)的,且必須為1的。可以識(shí)別SYN/ACK/FIN/RST/PSH/URG標(biāo)記。還可以用ALLNONEALL表示匹配所有的標(biāo)記,NONE表示不匹配任何標(biāo)記。

--syn:匹配syn標(biāo)記被設(shè)置,而ACKRST沒(méi)有設(shè)置的數(shù)據(jù)包。

--icmp-type 數(shù)值類型:根據(jù)icmp的類型進(jìn)行匹配。

--limit 匹配次數(shù)/時(shí)間:需要使用-mlimit。時(shí)間可以是/second/minute/day/hour,默認(rèn)為3/hour

--limit-burst 次數(shù):定義了—limit的峰值,默認(rèn)為5.也就是單位時(shí)間內(nèi)匹配的數(shù)據(jù)包的最大數(shù)量,每匹配一個(gè),數(shù)值就減去1,知道為0為止。新來(lái)的數(shù)據(jù)包將不會(huì)在匹配。

--mac-source:對(duì)數(shù)據(jù)包的源mac地址進(jìn)行過(guò)濾,需要使用-mmac

--uid-owner uid:按生成數(shù)據(jù)包的UID進(jìn)行過(guò)濾。需要-mowner

--gid-owner gid:按生成數(shù)據(jù)包的GID進(jìn)行過(guò)濾。需要-mowner

--pid-owner pid:按生成數(shù)據(jù)包的PID(進(jìn)程ID)進(jìn)行過(guò)濾。需要-mowner

--sid-owner sid:按生成數(shù)據(jù)包的SID(會(huì)話ID)進(jìn)行過(guò)濾。需要-mowner

--state 狀態(tài)列表,對(duì)數(shù)據(jù)包的狀態(tài)進(jìn)行過(guò)濾。有四種狀態(tài),NEW/RELATED/INVALID/ESTABLISHED,不同的狀態(tài)之間用逗號(hào)隔開。需要用-mstate

2.5 Iptables的可用動(dòng)作

ACCEPT:放行匹配的數(shù)據(jù)包。

DROP:丟棄匹配的數(shù)據(jù)包,不會(huì)產(chǎn)生任何信息。

REJECT丟棄匹配的數(shù)據(jù)包,但是會(huì)返回錯(cuò)誤消息。可以用—reject-with控制返回錯(cuò)誤消息的類型。

DNAT:用在PREROUTINGOUTPUT鏈中。需要使用--to-dest指定轉(zhuǎn)換后的目標(biāo)地址。

如:iptables –t nat –A PREROUTING –p tcp –d 202.102.192.68 –dport 80 –jDNAT –to-dest 192.168.0.1-192.168.0.10

SNAT:用在POSTROUTING鏈中。修改數(shù)據(jù)包的源IP地址。需要使用—to-source

LOG:匹配的數(shù)據(jù)包記錄到日志中。有如下幾個(gè)參數(shù):

--log-level:指定日志等級(jí)。

--log-prefix:指定日志前綴,便于查看。

MASQUERADESNAT相同,用于只有一個(gè)IP地址的情況下,為多端口復(fù)用。有一個(gè)選項(xiàng),--to-ports指定端口范圍,如:--to-ports 1000020000.該選項(xiàng)不是必須的。

REDIRECT:重定向。比如把所有去往80端口的數(shù)據(jù)包去往HTTP代理。本地生成的數(shù)據(jù)包會(huì)被映射到127.0.0.1。只能用在PREROUTINGOUTPUT鏈中,只有一個(gè)選項(xiàng)—to-ports,指定端口,可以是一個(gè)端口,也可以是一個(gè)端口范圍。如—to-ports 8080

2.6Iptables策略配置方法

保存iptables規(guī)則:/etc/init.d/iptables save

另一種常用的是將所有的iptables規(guī)則寫入到腳本文件中,然后開機(jī)的時(shí)候,自動(dòng)執(zhí)行該腳本就可以了(/etc /rc.d/rc.local)。

如:/bin/bash ?iptables-scripts.sh


iptables策略的導(dǎo)入和導(dǎo)出:

導(dǎo)出:iptables-save –c > 文件名

-c:指定導(dǎo)出數(shù)據(jù)包和字節(jié)計(jì)數(shù)器的值。

導(dǎo)入:iptables-restore –c –n < 文件名

-c:指定導(dǎo)入數(shù)據(jù)包和字節(jié)計(jì)數(shù)器的值。

-n:指定在導(dǎo)入時(shí)不覆蓋已有的表或表內(nèi)的策略。



轉(zhuǎn)載于:https://blog.51cto.com/hezhang/1357197

超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的iptables tcp wrappers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。