iptables防火墻

1.iptables防火墻介紹

Iptables其實(shí)不是真正的防火墻准颓,只是一個(gè)工具梯刚。
我們可以把它理解成一個(gè)客戶端代理凉馆,用戶通過(guò)iptables這個(gè)代理,將用戶的安全設(shè)定執(zhí)行到對(duì)應(yīng)的“安全框架”中,這個(gè)“安全框架”才是真正的防火墻澜共,這個(gè)框架的名字叫netfilter
Netfilter框架存在于linux內(nèi)核中實(shí)現(xiàn)數(shù)據(jù)包過(guò)濾向叉、連接跟蹤、地址轉(zhuǎn)換等嗦董,來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的安全母谎。
Netfilter也是網(wǎng)絡(luò)層的一個(gè)模塊,可以在網(wǎng)絡(luò)層的前后設(shè)置勾子函數(shù)京革,一旦有數(shù)據(jù)包流經(jīng)勾子函數(shù)就會(huì)被攔截奇唤,每一個(gè)勾子函數(shù)都對(duì)應(yīng)一個(gè)鏈,然后去比對(duì)表里的規(guī)則看是否通過(guò)或者更改匹摇。而這些表里的規(guī)則就是由iptables這個(gè)命令來(lái)配置的咬扇。

2.iptables防火墻四表五鏈

表的處理優(yōu)先級(jí):raw>mangle>nat>filter.

?   filter表——過(guò)濾數(shù)據(jù)包 
?   Nat表——用于網(wǎng)絡(luò)地址轉(zhuǎn)換(IP、端口)
?   Mangle表——修改數(shù)據(jù)包的服務(wù)類型廊勃、TTL冗栗、并且可以配置路由實(shí)現(xiàn)QOS
?   Raw表——決定數(shù)據(jù)包是否被狀態(tài)跟蹤機(jī)制處理
image.png

3.iptables表和鏈的位置

進(jìn)路由(PREROUTING)、進(jìn)系統(tǒng)(INPUT) 供搀、轉(zhuǎn)發(fā)(FORWARD)隅居、出系統(tǒng)(OUTPUT)、出路由(POSTROUTING)

3.1 雙網(wǎng)卡

image.png
image.png

3.2 單網(wǎng)卡

image.png

4.介紹iptables命令

4.1 結(jié)構(gòu)

iptables -t 表 命令 鏈 規(guī)則 -j 動(dòng)作

table 可以是 filter nat mangle 默認(rèn)是 filter

4.2 常用命令

-P或 --policy   定義默認(rèn)策略
-L或 --list     查看iptables規(guī)則列表 
-A或 --append   在規(guī)則列表的最后增加1條規(guī)則
-I或 --insert   在指定的位置插入1條規(guī)則
-D或 --delete   從規(guī)則列表中刪除1條規(guī)則
-R 或 --replace 替換規(guī)則列表中的某條規(guī)則 
-F 或 --flush   刪除表中所有規(guī)則    

4.3 iptables數(shù)據(jù)包匹配選項(xiàng)

-i 或 --in-interface  指定數(shù)據(jù)包從哪個(gè)網(wǎng)絡(luò)接口進(jìn)入葛虐,如ppp0胎源、eth0、eth1等屿脐。
-o 或 --out-interface 指定數(shù)據(jù)包從哪個(gè)網(wǎng)絡(luò)接口出去涕蚤,如ppp0、eth0的诵、eth1等万栅。
-p 或 --protocol   協(xié)議類型 指定數(shù)據(jù)包匹配的協(xié)議,如TCP西疤、UDP烦粒、ICMP等
-s 或 --source   指定數(shù)據(jù)包匹配的源地址
-d 或 --destination  指定數(shù)據(jù)包匹配的目標(biāo)地址
--sport   指定數(shù)據(jù)包匹配的源端口號(hào),可以使用“起始端口號(hào):結(jié)束端口號(hào)”的格式指定一個(gè)端口號(hào)的范圍
--dport   目標(biāo)端口號(hào)代赁,指定數(shù)據(jù)包匹配的目標(biāo)端口號(hào)扰她,可以使用“起始端口號(hào):結(jié)束端口號(hào)”的格式指定一個(gè)端口號(hào)的范圍


例子
拒接ICMP協(xié)議數(shù)據(jù)包
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -j DROP

拒絕從eth1網(wǎng)卡進(jìn)入ICMP協(xié)議數(shù)據(jù)包
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -i eth1 -j DROP

4.4 擴(kuò)展匹配選項(xiàng)

匹配選項(xiàng)中,還需要加-m引用模塊的顯示擴(kuò)展

4.4.1狀態(tài)類型

參數(shù) -m state
     基于狀態(tài)檢測(cè)的包過(guò)濾芭碍,指定檢測(cè)那種狀態(tài)
     --state {NEW, ESTABLISHED, INVALID, RELATED}
     說(shuō)明 用來(lái)比對(duì)連接狀態(tài)徒役,連接狀態(tài)共有四種:NEW, ESTABLISHED, INVALID, RELATED
     INVALID 表示該封包的連接編號(hào)(Session ID)無(wú)法辨認(rèn)或編號(hào)不正確
     ESTABLISHED 表示該封包屬于某個(gè)已經(jīng)建立的連接
     NEW 表示該封包想要起始一個(gè)連接(重設(shè)連接或?qū)⑦B接重導(dǎo)向)
     RELATED 表示該封包是屬于某個(gè)已經(jīng)建立的連接,所建立的新連接窖壕。例如:FTP-DATA連接必定是源自某個(gè)FTP連接
    
     范例 iptables –A INPUT -m state --state RELATED,ESTABLISHED 
     拒絕其他主機(jī)的新連接
     [root@sdh ~]# iptables -t filter -I INPUT -p tcp -m state --state NEW -j DROP

4.4.2 ICMP類型

參數(shù)-m icmp --icmp-type
   ping 命令使用icmp協(xié)議測(cè)試網(wǎng)絡(luò)是否暢通
   icmp有兩種常用的數(shù)據(jù)包icmp-type,常用的類型為echo-reply和echo-request.
   PC1 ping PC2,發(fā)出去的數(shù)據(jù)包是icmp協(xié)議的echo-request類型的數(shù)據(jù)包忧勿,PC2返回來(lái)的數(shù)據(jù)包是icmp協(xié)議的echo-reply類型的數(shù)據(jù)包杉女。
 
例子
不允許其他主機(jī)ping本地(ping其他主機(jī)可以)
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -m icmp --icmp-type echo-request -j DROP

icmp 數(shù)據(jù)包的類型也可以使用數(shù)字表示
類型8:echo-request
類型0:echo-reply
舉例
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -m icmp --icmp-type 8 -j DROP

4.4.3 指定多端口號(hào)

參數(shù) -m multiport
    指定多端口號(hào)(只用--dport無(wú)法指定多個(gè)端口)
   -m multiport
          --sports   源端口
          --dports   目標(biāo)端口
          --ports   
示例
拒絕192.168.80.0/24訪問(wèn)192.168.10.0/24 的1-1024,3389端口
[root@sdh ~]# iptables -t filter -I INPUT -p tcp -s 192.168.80.0/24 -d 192.168.10.0/24 -m multiport --dports 1:1024,3389 -j DROP
拒絕訪問(wèn)本機(jī)的22端口(SSH沒(méi)改端口情況下盡量不要用)
[root@sdh ~]# iptables -t filter -I INPUT -p tcp --dport 22 -j DROP

4.4.4 指定IP段

參數(shù) -m iprange
指定IP段
        --src-range ip-ip
        --dst-range ip-ip
示例
禁止192.168.80.1-100地址段訪問(wèn)
[root@sdh ~]# iptables -t filter -I INPUT -m iprange --src-range 192.168.80.1-192.168.80.100 -j DROP

4.4.5 連接限定

   -m connlimit
   --connlimit-above  限定最大連接個(gè)數(shù)
示例
限制每個(gè)ip的連接數(shù)為3
[root@sdh ~]# iptables -t filter -I INPUT -p tcp -m connlimit --connlimit-above 3  -j REJECT

4.4.6 限速

-m limit --limit
一個(gè)數(shù)據(jù)包默認(rèn)設(shè)置最大1500字節(jié)
范例   iptables –A INPUT –m limit --limit 3/hour
說(shuō)明 用來(lái)比對(duì)某段時(shí)間內(nèi)封包的平均流量鸳吸,上面的例子是用來(lái)比對(duì)宠纯;每小時(shí)平均流量是否超過(guò)一次3個(gè)數(shù)據(jù)包(一小時(shí)3個(gè)數(shù)據(jù)包)
除了每小時(shí)平均一次外,也可以每秒鐘层释、每分鐘或每天平均一次婆瓜,默認(rèn)值為每小時(shí)平均一次,參數(shù)如后:/second贡羔、/minute廉白、/day 
    
例子
限制每秒對(duì)本機(jī)發(fā)送數(shù)據(jù)包不能超過(guò)300個(gè)。300*1500=450 000=450k
[root@sdh ~]# iptables -t filter -I INPUT -p tcp -m limit --limit 300/s -j ACCEPT
[root@sdh ~]# iptables -t filter -A INPUT -p tcp -j DROP

4.4.7 瞬間流量控制

參數(shù) --limit-burst
范例 iptables –A INPUT –m limit --limit-burst 5
說(shuō)明 用來(lái)比對(duì)瞬間大量封包的數(shù)量乖寒,上面的例子是用來(lái)比對(duì)一次同時(shí)涌入的封包是否超過(guò)5個(gè)(這是默認(rèn)值)猴蹂,超過(guò)此上限的封包將被直接丟棄。使用效果同上楣嘁。(通俗點(diǎn)講 前5個(gè)包可以直接通過(guò)不限速磅轻,但前5個(gè)包通過(guò)之后如果有限速設(shè)置就要按限速的速率來(lái)傳送數(shù)據(jù)包)

例子
只允許其他主機(jī)ping本機(jī)4個(gè)包
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -m limit --limit-burst 4 -j ACCEPT
[root@sdh ~]# iptables -t filter -A INPUT -p icmp -j DROP
image.png

4.4.8 源mac地址限制

參數(shù) –m mac --mac-source
說(shuō)明 用來(lái)比對(duì)封包來(lái)源接口的硬件地址,這個(gè)參數(shù)不能用在OUTPUT和POSTROUTING規(guī)則鏈上逐虚,這是因?yàn)榉獍统龅骄W(wǎng)卡后聋溜,才能由網(wǎng)卡驅(qū)動(dòng)程序透過(guò)ARP通訊協(xié)議查出目的地的MAC地址,所以iptables在進(jìn)行封包比對(duì)時(shí)叭爱,并不知道封包會(huì)送到哪個(gè)網(wǎng)絡(luò)接口去撮躁。

示例
拒絕某個(gè)計(jì)算機(jī)的MAC能夠訪問(wèn)VMNet8這個(gè)網(wǎng)段
[root@sdh ~]# iptables -t filter -I FORWARD -d 192.168.80.0/24 -m mac --mac-source 00-0C-29-DB-32-6F -j DROP

4.5 處理動(dòng)作

 -j 參數(shù)用來(lái)指定要進(jìn)行的處理動(dòng)作,常用的處理動(dòng)作包括:ACCEPT买雾、REJECT把曼、DROP、REDIRECT漓穿、MASQUERADE嗤军、LOG、DNAT晃危、SNAT叙赚、MIRROR、QUEUE山害、RETURN纠俭、MARK。
  
filter 表能使用的主要?jiǎng)幼?   ACCEPT:將封包放行浪慌,進(jìn)行此處理動(dòng)作后,將不再匹配其他規(guī)則朴则,直接跳往下一個(gè)規(guī)則鏈权纤。
   REJECT:攔阻該封包 钓简,并傳送封包通知對(duì)方,可以傳送的封包有幾個(gè)選擇:ICMP port-unreachable汹想、ICMP echo-reply或者是tcp-reset(這個(gè)封包會(huì)要求對(duì)方關(guān)閉連接)外邓,進(jìn)行完成處理動(dòng)作后,將不再匹配其他規(guī)則古掏,直接中斷過(guò)濾程序损话。
   DROP:丟棄封包不予處理,進(jìn)行完成處理動(dòng)作后槽唾,將不再匹配其他規(guī)則丧枪,直接中斷過(guò)濾程序。
   LOG:將封包相關(guān)訊息記錄在/var/log/messages中庞萍,詳細(xì)位置請(qǐng)查閱/etc/rsyslog.conf配置文件拧烦,進(jìn)行完成處理動(dòng)作后,將會(huì)繼續(xù)匹配其規(guī)則钝计×挡可以去/etc/rsyslog.conf中更改記錄文件,記得重啟日志服務(wù)

4.5.1 REJECT

示例:
與DROP不同DROP是什么動(dòng)靜都沒(méi)有私恬,REJECT會(huì)回復(fù)給原主機(jī) 目標(biāo)不可達(dá)
[root@sdh ~]# iptable -t filter -I INPUT -p icmp -j REJECT

4.5.2 LOG

只對(duì)數(shù)據(jù)包進(jìn)行記錄债沮,不對(duì)數(shù)據(jù)包進(jìn)行拒絕或者限制的作用,所以數(shù)據(jù)包的通過(guò)與不通過(guò)要看接下來(lái)的規(guī)則鏈本鸣,所以盡量把LOG動(dòng)作的規(guī)則鏈放到開頭秦士。

示例:
給基于ICMP的封包進(jìn)行LOG記錄
[root@sdh ~]# iptables -t filter -I INPUT -p icmp -j LOG --log-prefix "iptables-icmp"

--log-prefix  給記錄的信息加上一個(gè)標(biāo)記
 然后查看/var/log/messages里面會(huì)有封包的信息

5 保存還原防火墻設(shè)置

iptables防火墻重啟會(huì)加載配置文件,
所以如果我們當(dāng)前的規(guī)則沒(méi)有保存到配置文件永高,就會(huì)清空隧土。

iptables配置文件               /etc/sysconfig/iptables
將當(dāng)前配置保存到配置文件      service iptables save
將當(dāng)前配置規(guī)則追加到一個(gè)文件           iptables-save > iptables.conf1
還原iptables-save命令所備份的規(guī)則配置   iptables-restore < iptables.config1

6 介紹Iptables防火墻配置文件

iptables服務(wù)的配置文件是/etc/sysconfig/iptbales-config

vim /etc/sysconfig/iptables-config

# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES=""
 
# Unload modules on restart and stop
#   Value: yes|no,  default: yes
# This option has to be 'yes' to get to a sane state for a firewall
# restart or stop. Only set to 'no' if there are problems unloading netfilter
# modules.
IPTABLES_MODULES_UNLOAD="yes"
 
# Save current firewall rules on stop.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets stopped
# (e.g. on system shutdown).
IPTABLES_SAVE_ON_STOP="no"
 
# Save current firewall rules on restart.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets
# restarted.
IPTABLES_SAVE_ON_RESTART="no"
 
# Save (and restore) rule and chain counter.
#   Value: yes|no,  default: no
# Save counters for rules and chains to /etc/sysconfig/iptables if
# 'service iptables save' is called or on stop or restart if SAVE_ON_STOP or
# SAVE_ON_RESTART is enabled.
IPTABLES_SAVE_COUNTER="no"
 
# Numeric status output
#   Value: yes|no,  default: yes
# Print IP addresses and port numbers in numeric format in the status output.
IPTABLES_STATUS_NUMERIC="yes"
 
# Verbose status output
#   Value: yes|no,  default: yes
# Print info about the number of packets and bytes plus the "input-" and
# "outputdevice" in the status output.
IPTABLES_STATUS_VERBOSE="no"
 
# Status output with numbered lines
#   Value: yes|no,  default: yes
# Print a counter/number for every rule in the status output.
IPTABLES_STATUS_LINENUMBERS="yes"

6.1 解釋配置文件

IPTABLES_MODULES = “ip_conntrack_netbios_ns”
在防火墻被激活時(shí),指定一組獨(dú)立的空間額外加載iptables模塊命爬,系統(tǒng)啟動(dòng)曹傀,加載防火墻模塊,會(huì)打铀峭稹:加載其他iptables模塊:ip_conntrack_netbios_ns [確定]
IPTABLES_MODULES_UNLOAD = “是”
在重新啟動(dòng)和停止的iptables模塊時(shí)皆愉,是否卸載此模塊。
IPTABLES_SAVE_ON_STOP = “不”
當(dāng)防火墻停止時(shí)艇抠,保存當(dāng)前防火墻規(guī)則到iptables文件幕庐,no :(默認(rèn)值)不保存當(dāng)前的規(guī)則到iptables文件。
IPTABLES_SAVE_ON_RESTART = “不”
當(dāng)防火墻重啟時(shí):service iptables restart家淤,保存當(dāng)前防火墻規(guī)則到iptables文件异剥,no :(默認(rèn)值)不保存當(dāng)前的規(guī)則到iptables文件。
IPTABLES_SAVE_COUNTER = “不”
保存并恢復(fù)所有鏈和規(guī)則中的數(shù)據(jù)包和字節(jié)計(jì)數(shù)器絮重,是:保存計(jì)數(shù)器的值冤寿,沒(méi)有:(默認(rèn)值)不保存計(jì)數(shù)器值歹苦。
IPTABLES_STATUS_NUMERIC = “是”
輸出的IP地址是數(shù)字的格式,而不是域名和主機(jī)名的形式督怜,是:(默認(rèn)值)在狀態(tài)輸出中只包括IP地址殴瘦,沒(méi)有:在狀態(tài)輸出中返回域名或主機(jī)名。
IPTABLES_STATUS_VERBOSE = “不”
輸出iptables的狀態(tài)時(shí)号杠,是否包含輸入輸出設(shè)備蚪腋,是:包含,不:(默認(rèn)值)不包含姨蟋。
IPTABLES_STATUS_LINENUMBERS = “是”
輸出iptables的狀態(tài)時(shí)屉凯,是否同時(shí)輸出每條規(guī)則的匹配數(shù),是:(默認(rèn)值)輸出芬探,NO:不輸出

查看iptables狀態(tài)時(shí) -v顯示更多設(shè)置 -n以數(shù)字形式顯示IP和端口
[root@sdh ~]# iptables -L -vn

7 保護(hù)服務(wù)器安全

7.1 常規(guī)網(wǎng)絡(luò)安全設(shè)置

示例
Web服務(wù)器對(duì)Internet開放TCP 80端口
SSH端口只允許指定的網(wǎng)段訪問(wèn)
默認(rèn)拒絕所有進(jìn)入的流量

安裝web服務(wù)(httpd或者nginx)
設(shè)置防火墻規(guī)則
[root@sdh ~]# iptables -t filter -P INPUT DROP
[root@sdh ~]# iptables –F
[root@sdh ~]# iptables -t filter -I INPUT -p -tcp --dport 80 -j ACCEPT
[root@sdh ~]# iptables -t filter -I INPUT -p -tcp --dport 22-s 192.168.10.123/32 -j ACCEPT

7.2 recent模塊實(shí)現(xiàn)服務(wù)器網(wǎng)絡(luò)安全

recent這個(gè)模塊很有趣神得,善加利用可充分保證您服務(wù)器的安全

設(shè)定常用參數(shù)

--name    設(shè)定列表名稱,默認(rèn)DEFAULT
--rsource   源地址偷仿,此為默認(rèn)
--rdest     目標(biāo)地址
--seconds   指定時(shí)間內(nèi)
--hitcount   命中次數(shù)
--set       將地址添加進(jìn)列表哩簿,并更新信息,包含地址加入的時(shí)間戳
--rcheck    檢查地址是否在列表酝静,以第一個(gè)匹配開始計(jì)算時(shí)間
--update    和rcheck類似节榜,以最后一個(gè)匹配計(jì)算時(shí)間
--remove   在列表里刪除相應(yīng)地址,后跟列表名稱及地址别智,如果來(lái)源端數(shù)據(jù)已存在宗苍,則將其刪除,若不存在薄榛,則不做任何處理;

示例1

SSH連接60秒內(nèi)只允許連接2次
#用來(lái)設(shè)置多長(zhǎng)時(shí)間 幾次 拒絕
[root@sdh ~]# iptables -t filter -A INPUT -p tcp --dport 52113 -m state --state NEW -m recent --name SSHPOOL --rcheck --seconds 60 --hitcount 2 -j DROP
#連接計(jì)數(shù)
[root@sdh ~]# iptables -t filter -A INPUT -p tcp --dport 52113 -m state --state NEW -m recent --name SSHPOOL --set -j ACCEPT
#如果把鏈的默認(rèn)改成了DROP讳窟,所以要加上一條建立了會(huì)話的數(shù)據(jù)包 就允許進(jìn)入
[root@sdh ~]# iptables -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT

示例2

限制TCP 80端口60秒內(nèi)每個(gè)IP只能發(fā)起10個(gè)新連接,超過(guò)記錄日記及丟失數(shù)據(jù)包敞恋,可防CC及偽造IP的syn洪水
[root@sdh ~]# iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix "DDOS"
[root@sdh ~]# iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
[root@sdh ~]# iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT
#如果把鏈的默認(rèn)改成了DROP丽啡,所以要加上一條建立了會(huì)話的數(shù)據(jù)包 就允許進(jìn)入
[root@sdh ~]# iptables -t filter -A INPUT -m state --state ESTABLISHED -j ACCEPT

8 設(shè)置打開端口的鑰匙

#記錄日志,前綴SSHOPEN   (-m length --length 指定數(shù)據(jù)包大小 ) 
[root@sdh ~]# iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 1078 -j LOG --log-prefix "SSHOPEN"

#指定數(shù)據(jù)包1078 字節(jié)(包含IP頭部20字節(jié)硬猫,ICMP頭部8字節(jié))补箍,將ping請(qǐng)求的包大小為1078字節(jié)的數(shù)據(jù)包的源地址記錄到sshopen表
[root@sdh ~]# iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 1078 -m recent --set --name sshopen --rsource -j ACCEPT

#檢查sshopen表中60秒內(nèi)的記錄如果有源地址則允許訪問(wèn)TCP 的22端口
[root@sdh ~]# iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 60 --name sshopen --rsource -j ACCEPT

#發(fā)送ping包指定數(shù)據(jù)包1178個(gè)字節(jié),將客戶端地址從sshopen表中移除啸蜜,客戶端將不能使用tcp的22端口建立連接
[root@sdh ~]# iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 1178 -m recent --remove --name sshopen -j ACCEPT
#已建立連接允許進(jìn)入
[root@sdh ~]# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

#記住將INPUT鏈默認(rèn)改成DROP
[root@sdh ~]# iptables -P INPUT DROP

最終 會(huì)實(shí)現(xiàn)什么樣情況呢
直接去連接我們的主機(jī)是連不上了
我們需要ping一下主機(jī)并且要指定數(shù)據(jù)包為1050(因?yàn)镮P占20個(gè)字節(jié)坑雅,ICMP占8個(gè)字節(jié))

image.png

這樣我們?cè)?0秒內(nèi)去連就可以連上主機(jī)
那如果我們想斷開呢
根據(jù)我們上面的設(shè)置ping一下1150


image.png

這樣我們就連不上啦

Linux下解鎖
ping -s 1050 47.94.108.119

windows下解鎖
ping -l 1050 47.94.108.119

9.保護(hù)子網(wǎng)的安全

9.1 訪問(wèn)內(nèi)網(wǎng)的主機(jī)端口

適用于雙網(wǎng)卡的主機(jī),用來(lái)對(duì)子網(wǎng)ip的保護(hù)
把子網(wǎng)主機(jī)具體需要打開的端口打開
ptables -P FORWARD DROP 
iptables -t filter -I FORWARD -p tcp -dport 3389 -d 192.168.10.110/32 -o eth2 -j ACCPET
現(xiàn)在能夠向目標(biāo)主機(jī)發(fā)送請(qǐng)求衬横,但是目標(biāo)主機(jī)無(wú)法回應(yīng)裹粤。還要再加一條已建立會(huì)話允許通過(guò)。
iptables -t filter -I FORWARD -m state --state ESTABLISHED -j ACCEPT

9.2 配置NAT實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換

image.png

做地址的轉(zhuǎn)換 讓內(nèi)部ip可以通過(guò)一個(gè)公網(wǎng)ip去上網(wǎng)

9.3 端口映射

將公網(wǎng)的ip端口映射到內(nèi)網(wǎng)ip的端口
如果內(nèi)網(wǎng)存在多主機(jī)打開同一個(gè)端口冕香,就要在公網(wǎng)ip上設(shè)置其他的端口去映射
[root@sdh ~]# iptables -t nat -A PREROUTING -i eth3 -d 192.168.20.10/32 -p tcp --dport 3389 -j DNAT --to-destination 192.168.10.110:3389
[root@sdh ~]# iptables -t nat -A PREROUTING -i eth3 -d 192.168.20.10/32 -p tcp --dport 4000 -j DNAT --to-destination 192.168.10.222:3389

那如果是映射到web主機(jī)上的話蛹尝,就映射80端口就可以啦

10.mangle表的應(yīng)用案例

TTL 生存時(shí)間值 每經(jīng)過(guò)一個(gè)路由就減1  windows默認(rèn)是128  linux默認(rèn)是64
如果不設(shè)置TTL的話后豫,當(dāng)輸入一個(gè)不存在的ip悉尾,路由之間就會(huì)不斷的來(lái)回發(fā)包突那,占用帶寬。
當(dāng)TTL為0是就會(huì)停止繼續(xù)發(fā)包

tracert 可以跟蹤一個(gè)地址看經(jīng)過(guò)多少個(gè)路由构眯,原理就是利用TTL愕难。所以我們要利用mangle表來(lái)迷惑那些跟蹤我們地址的人。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惫霸,一起剝皮案震驚了整個(gè)濱河市猫缭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壹店,老刑警劉巖猜丹,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異硅卢,居然都是意外死亡射窒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門将塑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脉顿,“玉大人,你說(shuō)我怎么就攤上這事点寥“保” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵敢辩,是天一觀的道長(zhǎng)蔽莱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)戚长,這世上最難降的妖魔是什么盗冷? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮历葛,結(jié)果婚禮上正塌,老公的妹妹穿的比我還像新娘。我一直安慰自己恤溶,他們只是感情好乓诽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咒程,像睡著了一般鸠天。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帐姻,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天稠集,我揣著相機(jī)與錄音奶段,去河邊找鬼。 笑死剥纷,一個(gè)胖子當(dāng)著我的面吹牛痹籍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晦鞋,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蹲缠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了悠垛?” 一聲冷哼從身側(cè)響起线定,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎确买,沒(méi)想到半個(gè)月后斤讥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡湾趾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年芭商,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撑帖。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蓉坎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胡嘿,到底是詐尸還是另有隱情蛉艾,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布衷敌,位于F島的核電站勿侯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缴罗。R本人自食惡果不足惜助琐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望面氓。 院中可真熱鬧兵钮,春花似錦、人聲如沸舌界。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呻拌。三九已至葱轩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靴拱。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工垃喊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袜炕。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓本谜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親妇蛀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耕突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容