真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

配置iptables防火墻(一)

配置iptables防火墻

成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站建設服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都企業(yè)網(wǎng)站建設及推廣,對玻璃隔斷等多個領域擁有豐富的網(wǎng)站制作經(jīng)驗的網(wǎng)站建設公司。

管理iptables規(guī)則

1、拒絕所有入站協(xié)議的數(shù)據(jù)包

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

2、允許系統(tǒng)管理員從192.168.10.100/24網(wǎng)段使用SSH方式遠程防火墻主機

[root@s2 ~]# iptables -A INPUT -p tcp --dport 22 -s 192.168.10.100/24 -j ACCEPT

3、查看filter表INPUT鏈中的所有規(guī)則,同時顯示各條規(guī)則的順序號

[root@s2 ~]# iptables  -L INPUT --line-numbers

4、查看filter表各鏈中所有規(guī)則的相信信息,同時以數(shù)字的形式顯示地址和端口信息

[root@s2 ~]# iptables –vnL注意-L選項放在最后,否則會將vn當成鏈名

Chain INPUT (policy DROP 47 packets, 10544 bytes)

pkts bytes target     prot opt in     out     source               destination        

 732 51752 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22

   0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0          

   0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          

   0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target     prot opt in     out     source               destination        

Chain OUTPUT (policy ACCEPT 566 packets, 57384 bytes)

pkts bytes target     prot opt in     out     source               destination        

Chain RH-Firewall-1-INPUT (0 references)

pkts bytes target     prot opt in     out     source               destination  

5、刪除filter表INPUT鏈中的第二條規(guī)則

[root@s2 ~]# iptables -D INPUT 2

6、清空filter表、nat表、mangle表各鏈中的所有規(guī)則

[root@s2 ~]# iptables –F不指定表名時默認清空filter表

[root@s2 ~]# iptables -t nat -F

[root@s2 ~]# iptables -t mangle -F

7、將filter表中FORWARD規(guī)則鏈的默認策略設為DROP

[root@s2 ~]# iptables -t filter -P FORWARD DROP

8、將filter表中OUTPUT規(guī)則鏈的默認策略設為ACCEPT

[root@s2 ~]# iptables -P OUTPUT ACCEPT

9、獲得iptables相關選項用法的幫助信息

查看iptables命令中關于icmp協(xié)議的幫助信息

[root@s2 ~]# iptables -p icmp –h

10、在raw表中新增一條自定義的規(guī)則鏈,鏈名為TCP_PACKETS

[root@s2 ~]# iptables -t raw -N TCP_PACKETS

[root@s2 ~]# iptables -t raw -L

Chain PREROUTING (policy ACCEPT)

target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination        

Chain TCP_PACKETS (0 references)

target     prot opt source               destination

11、清空用戶自定義的所有規(guī)則鏈

[root@s2 ~]# iptables -t raw -X

條件匹配

1、通用(general)條件匹配

 拒絕進入防火墻的所有icmp協(xié)議數(shù)據(jù)包

[root@s2 ~]# iptables -I INPUT -p icmp -j REJECT

2、允許防火墻轉發(fā)除icmp協(xié)議以外的所有數(shù)據(jù)包(使用驚嘆號! 可以將條件相反)

[root@s2 ~]# iptables -A FORWARD -p ! icmp -j ACCEPT

[root@s2 ~]# iptables -L FORWARD

Chain FORWARD (policy DROP)

target     prot opt source               destination        

ACCEPT    !icmp --  anywhere             anywhere

3、拒絕轉發(fā)來自192.168.1.11主機的數(shù)據(jù),允許轉發(fā)來自192.168.0.0/24網(wǎng)段的數(shù)據(jù)

[root@s2 ~]# iptables -A FORWARD -s 192.168.1.11 -j REJECT

[root@s2 ~]# iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

4、丟棄從外網(wǎng)接口(eth2)進入防火墻本機的源地址為私網(wǎng)

[root@s2 ~]# iptables -A INPUT -i eht1 -s 192.168.0.0/24 -j DROP

5、封鎖某個IP網(wǎng)段,設置兩小時后解鎖

[root@s2 ~]# iptables -I INPUT -s 192.168.1.0/24 -j DROP

[root@s2 ~]# iptables -I FORWARD -s 192.168.1.0/24 -j DROP

[root@s2 ~]# at now +2 hours設置2小時后解鎖

at> iptables -D INPUT 1

at> iptables -D FORWARD 1

job 3 at 2010-04-25 19:52此處按Ctrl+D組合鍵提交任務

6、允許本機開放從TCP端口20~1024提供的應用服務

[root@s2 ~]# iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT

[root@s2 ~]# iptables -A OUTPUT -p tcp --dport 20:1024 -j ACCEPT

7、作為網(wǎng)關使用時,允許轉發(fā)來自192.168.0.0/24局域網(wǎng)段的DNS解析請求數(shù)據(jù)包

[root@s2 ~]# iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT

[root@s2 ~]# iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT

--dport 目標端口  --sport  源端口


8、拒絕從外網(wǎng)接口(eth2)直接訪問防火墻本機的數(shù)據(jù)包,但是允許響應防火墻TCP請求的數(shù)據(jù)包進入

[root@s2 ~]# iptables -I INPUT -i eth2 -p tcp --tcp-flags SYN,RST,ACK SYN -j REJECT

[root@s2 ~]# iptables -I INPUT -i eth2 -p tcp --tcp-flags ! SYN,RST,ACK SYN -j ACCEPT

--tcp-flags  用于查找數(shù)據(jù)包的TCP標記位

9、禁止其他主機ping防火墻主機,但是允許從防火墻上ping其他主機(允許接受ICMP回應數(shù)據(jù))

[root@s2 ~]# iptables -A INPUT -p icmp --icmp-type Echo-Request -j DROP

[root@s2 ~]# iptables -A INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT

[root@s2 ~]# iptables -A INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT

Echo-Request 數(shù)值代碼為8  Echo-Reply 數(shù)值代碼為0  destination-Unreachable  數(shù)值代碼為3,分別對應ICMP協(xié)議的請求、回顯、目標不可達數(shù)據(jù)

10、禁止轉發(fā)來自MAC地址為00-50-56-C0-00-01的主機的數(shù)據(jù)包。

[root@s2 ~]# iptables -A FORWARD -m mac --mac-source 00:50:56:C0:00:01 -j DROP

-m  模塊關鍵字的形式調用顯示匹配

11、允許防火墻本機對外開放TCP端口20、21、25、110以及被動模式FTP端口1250~1280

[root@s2 ~]# iptables -A INPUT -p tcp -m multiport --dport 20,21,25,11,1250:1280 -j ACCEPT--dports  端口列表 或–sports端口列表

12、禁止轉發(fā)源IP地址為192.168.1.20~192.168.1.199的TCP數(shù)據(jù)包

[root@s2 ~]# iptables -A INPUT -p tcp -m multiport --dport 20,21,25,11,1250:1280 -j ACCEPT--src-range IP地址范圍  或者  --dst-rangeIP地址范圍

13、禁止轉發(fā)與正常TCP連接無關的非—syn請求數(shù)據(jù)包(如網(wǎng)絡中可能存在的一些非法***數(shù)據(jù)包)

[root@s2 ~]# iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP  state  檢查數(shù)據(jù)包連接狀態(tài) 常見的數(shù)據(jù)包狀態(tài)主要包括NEW(與任何連接無關)、ESTABLISHED(響應請求或者已建立連接的)和RELATED(與已有連接有相關性的,如FTP數(shù)據(jù)連接)

14、拒絕訪問防火墻的新數(shù)據(jù)包,但允許響應連接或已有連接相關的數(shù)據(jù)包

[root@s2 ~]# iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

15、在服務器中設置防火墻策略,只開放本機的Web服務(80端口)、FTP服務(20、21端口、20450、20480),放行外部主機發(fā)往服務器其他端口的應答數(shù)據(jù)包,將其他入站數(shù)據(jù)包均予以丟棄處理

[root@s2 ~]# iptables -I INPUT -p tcp -m multiport --dport 20,21,80 -j ACCEPT

[root@s2 ~]# iptables -I INPUT -p tcp --dport 20450:20480 -j ACCEPT

[root@s2 ~]# iptables -I INPUT -p tcp -m state  --state ESTABLISHED -j ACCEPT

[root@s2 ~]# iptables -P  INPUT DROP將默認策略設為DROP

數(shù)據(jù)包控制

1、對于嘗試通過SSH方式登錄防火墻主機的訪問數(shù)據(jù),記錄日志信息并禁止其他訪問

iptables -I INPUT -p tcp --dport 22 -j DROP

iptables -I INPUT -p tcp --dport 22 -j LOGLOG 在、var/log/messages文件中記錄日志信息


2、為了避免日志記錄過于頻繁,通常結合LIMIT方式顯示匹配(-嗎limit)對日志寫入頻繁進行限制。以下規(guī)則用于將日志的頻繁限制為平均三次/分鐘,允許的峰值為八次

[root@s2 ~]# iptables -R INPUT 1 -p tcp --dport 22 -m limit --limit 3/minute --limit-burst 8 -j LOG

3、自定義一個新的鏈MyLAN1,轉發(fā)自/至192.168.1.0、24網(wǎng)段的數(shù)據(jù)包均較給該鏈中的規(guī)則處理

[root@s2 ~]# iptables -t filter -N MyLAN1

[root@s2 ~]# iptables -A FORWARD -s 192.168.1.0/24 -j MyLAN1

[root@s2 ~]# iptables -A FORWARD -d 192.168.1.0/24 -j MyLAN1

[root@s2 ~]# iptables -A MyLAN1 -p icmp -j DROP

SNAT(源地址轉換)修改數(shù)據(jù)包的源IP地址

DNAT(目標地址轉換)修改數(shù)據(jù)包的目標IP地址

使用防火墻腳本

1、直接執(zhí)行iptables-save命令時,將會把當前設置的防火墻信息輸出到終端

[root@s2 ~]# iptables-save

# Generated by iptables-save v1.3.5 on Sun Apr 25 19:41:15 2010

*filter

:INPUT DROP [456:29475]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [1855:180828]

:MyLAN1 - [0:0]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -p tcp -m tcp --dport 22 -m limit --limit 3/min --limit-burst 8 -j LOG

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A FORWARD -s 192.168.1.0/255.255.255.0 -j MyLAN1

-A FORWARD -d 192.168.1.0/255.255.255.0 -j MyLAN1

-A MyLAN1 -p icmp -j DROP

COMMIT

# Completed on Sun Apr 25 19:41:15 2010

2、將當前調好的iptables規(guī)則保存到配置文件,并通過iptables服務自動加載

[root@s2 ~]# iptables-save > /etc/sysconfig/iptables

[root@s2 ~]# service iptables restart

Flushing firewall rules: [  OK  ]

Setting chains to policy ACCEPT: filter [  OK  ]

Unloading iptables modules: [  OK  ]

Applying iptables firewall rules: [  OK  ]

Loading additional iptables modules: ip_conntrack_netbios_ns [  OK  ]

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

3、從保存的規(guī)則配置文件中導入iptables規(guī)則

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

編寫防火墻腳本

1、在腳本文件中預先將防火墻主機的IP地址、網(wǎng)絡接口、局域網(wǎng)地址等定義為變量。

#!/bin/bash

INET_IP="214.16.18.20"

INET_IF="eth2"

LAN_IP="192.168.0.1"

LAN_IF="eth0"

2、在腳本文件中預先加載iptables需要用到的內核模塊

/sbin/depmod -a

/sbin/modprobe ip_tables

/sbin/modprobe ip_conntrack

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_nat

/sbin/modprobe iptable_mangle

/sbin/modprobe iptable_raw

/sbin/modprobe ipt_REJECT

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_iprange

/sbin/modprobe xt_tcpudp

/sbin/modprobe xt_state

/sbin/modprobe xt_multiport

/sbin/modprobe xt_mac

/sbin/modprobe xt_limit

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ip_nat_irc

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_conntrack_irc

3開啟路由轉發(fā)功能

 在腳本文件中開啟防火墻主機的路由轉發(fā)功能

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

[root@s2 ~]# cat /proc/sys/net/ipv4/ip_forward

1

 通過修改/etc/sysctl.conf文件中的方式開啟防火墻主機的路由轉發(fā)功能。

net.ipv4.ip_forward = 1

4、用戶設置的iptables規(guī)則

 刪除用戶的自定義的鏈,清空以保存的規(guī)則,將filter表的默認策略恢復為允許

/sbin/iptables  -X

/sbin/iptables  -t      nat     -X

/sbin/iptables  -t      mangle  -X

/sbin/iptables  -t      raw     -X

/sbin/iptables  -F

/sbin/iptables  -t      nat     -F

/sbin/iptables  -t      mangle  -F

/sbin/iptables  -t      raw     -F

/sbin/iptables  -p INPUT ACCEPT

/sbin/iptables  -p OUTPUT ACCEPT

/sbin/iptables  -p FORWARD ACCEPT

上機實驗部分

編寫iptables腳本實現(xiàn)IP地址、端口過濾

1、將iptables的filter表中INPUT、FORWARD鏈的缺省策略設為DROP

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

[root@s2 ~]# iptables -PFORWARD DROP

2、

(1)、允許從Internet訪問網(wǎng)關服務器的指定端口,并記錄訪問日志沒15分鐘記錄一次

[root@s2 ~]# iptables -A INPUT -p tcp --dport 22 -s 201.12.13.14/24 -j ACCEPT

[root@s2 ~]# iptables -I INPUT -p tcp --dport 22 -m limit --limit 15/minute  -j LOG

(2)、允許來自內網(wǎng)IP為:192.168.1.5/24的主機訪問網(wǎng)關的22號端口

[root@s2 ~]# iptables -A INPUT -p tcp --dport 22 -s 192.168.1.5/24 -j ACCEPT

(3)、允許MAC地址為00:0C:27:30:4E:5D的主機訪問網(wǎng)關的22號端口

[root@s2 ~]# iptables -A INPUT -p tcp --dport 22 -m mac --mac-source 00:0C:27:30:4E:5D -j ACCEPT

(4)、僅允許局域網(wǎng)主機(LAN1:192.168.1.0/24)訪問3128端口的代理服務

[root@s2 ~]# iptables  -A INPUT -p tcp --dport 3128  -s 192.168.1.0/24  -j ACCEPT

(5)、允許局域網(wǎng)主機訪問DNS服務器

[root@s2 ~]# iptables -AFORWARD -s 192.168.1.5/24 -d 192.168.2.2/24 -p udp --dport 53 -j ACCEPT

[root@s2 ~]# iptables -A FORWARD -s 192.168.2.2/24 -d 192.168.1.5/24 -p udp --dport 53 -j ACCEPT

3、開啟路由轉發(fā)

/etc/sysctl.conf

net.ipv4.ip_forward = 1

 重新加載/etc/sysctl.conf文件中的sysctl配置

[root@s2 ~]# 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 = 4294967295

kernel.shmall = 268435456

4、編寫腳本

net_ip="201.12.13.1/24"

inet_if="eth0"

inet2_ip="192.168.2.1"

inet2_if="eth2"

yuan_ip="201.12.13.14/24"

lan_ip="192.168.1.0/24"

lan_mac="00:0C:27:30:4E:5D"

dns="192.168.2.2/24"

/sbin/depmod -a

/sbin/modprobe ip_tables

/sbin/modprobe ip_conntrack

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_nat

/sbin/modprobe iptable_mangle

/sbin/modprobe iptable_raw

/sbin/modprobe ipt_REJECT

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_iprange

/sbin/modprobe xt_tcpudp

/sbin/modprobe xt_state

/sbin/modprobe xt_multiport

/sbin/modprobe xt_mac

/sbin/modprobe xt_limit

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ip_nat_irc

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_conntrack_irc

/sbin/iptables -P INPUT DROP

/sbin/iptables -P FORWARD DROP

/sbin/iptables -A INPUT -p tcp --dport 22 -s $yuan_ip -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 22 -m limit --limit 15/minute  -j LOG

/sbin/iptables -A INPUT -p tcp --dport 22 -s $lan_ip -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 22 -m mac --mac-source $lan_mac -j ACCEPT

/sbin/iptables  -A INPUT -p tcp --dport 3128  -s $lan_ip  -j ACCEPT

/sbin/iptables -A FORWARD -s $lan_ip -d $dns -p udp --dport 53 -j ACCEPT

/sbin/iptables -A FORWARD -s $dns -d $lan_ip -p udp --dport 53 -j ACCEPT


分享名稱:配置iptables防火墻(一)
當前URL:http://weahome.cn/article/jhoddh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部