中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

配置iptables防火墻(一)

發布時間:2020-08-08 15:22:22 來源:網絡 閱讀:1362 作者:304076020 欄目:安全技術

配置iptables防火墻

管理iptables規則

1、 拒絕所有入站協議的數據包

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

2、 允許系統管理員從192.168.10.100/24 網段使用SSH方式遠程防火墻主機

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

3、 查看filterINPUT鏈中的所有規則,同時顯示各條規則的順序號

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

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

[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、 刪除filterINPUT鏈中的第二條規則

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

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

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

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

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

7、 filter表中FORWARD規則鏈的默認策略設為DROP

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

8、 filter表中OUTPUT規則鏈的默認策略設為ACCEPT

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

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

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

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

10、在raw表中新增一條自定義的規則鏈,鏈名為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、清空用戶自定義的所有規則鏈

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

條件匹配

1、通用(general)條件匹配

 拒絕進入防火墻的所有icmp協議數據包

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

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

[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、拒絕轉發來自192.168.1.11主機的數據,允許轉發來自192.168.0.0/24網段的數據

[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、丟棄從外網接口(eth2)進入防火墻本機的源地址為私網

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

5、封鎖某個IP網段,設置兩小時后解鎖

[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<EOT>

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、作為網關使用時,允許轉發來自192.168.0.0/24局域網段的DNS解析請求數據包

[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、拒絕從外網接口(eth2)直接訪問防火墻本機的數據包,但是允許響應防火墻TCP請求的數據包進入

[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  用于查找數據包的TCP標記位

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

[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 數值代碼為8   Echo-Reply 數值代碼為0   destination-Unreachable  數值代碼為3,分別對應ICMP協議的請求、回顯、目標不可達數據

10、禁止轉發來自MAC地址為00-50-56-C0-00-01的主機的數據包。

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

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

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

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

12、禁止轉發源IP地址為192.168.1.20~192.168.1.199TCP數據包

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

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

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

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

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

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

[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

數據包控制

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

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

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


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

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

3、自定義一個新的鏈MyLAN1,轉發自/192.168.1.024網段的數據包均較給該鏈中的規則處理

[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(源地址轉換)修改數據包的源IP地址

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

使用防火墻腳本

1、直接執行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規則保存到配置文件,并通過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、從保存的規則配置文件中導入iptables規則

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



編寫防火墻腳本

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

#!/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開啟路由轉發功能

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

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

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

1

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

net.ipv4.ip_forward = 1

4、用戶設置的iptables規則

 刪除用戶的自定義的鏈,清空以保存的規則,將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腳本實現IP地址、端口過濾

1、將iptablesfilter表中INPUTFORWARD鏈的缺省策略設為DROP

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

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

2

1)、允許從Internet訪問網關服務器的指定端口,并記錄訪問日志沒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)、允許來自內網IP為:192.168.1.5/24的主機訪問網關的22號端口

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

3)、允許MAC地址為000C27304E5D的主機訪問網關的22號端口

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

4)、僅允許局域網主機(LAN1192.168.1.0/24)訪問3128端口的代理服務

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

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

[root@s2 ~]# iptables -A FORWARD -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、開啟路由轉發

/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



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金秀| 常山县| 伊吾县| 监利县| 安平县| 丹江口市| 大新县| 陇西县| 恩平市| 临漳县| 吉木乃县| 道真| 天等县| 岱山县| 永胜县| 丰宁| 滕州市| 赞皇县| 旬阳县| 嵊泗县| 晋州市| 武平县| 尼木县| 义乌市| 宣化县| 新泰市| 长葛市| 筠连县| 丹巴县| 安乡县| 略阳县| 屯门区| 德昌县| 湖北省| 林口县| 汪清县| 林西县| 乌兰浩特市| 婺源县| 平泉县| 甘孜|