Linux系統Iptables的常用防火牆配置方法__Linux

來源:互聯網
上載者:User

實驗環境介紹:

本指令碼環境為eth0外網,eth1內網;

#!/bin/sh

#外網網卡

EXT_IF="eth0"

FW_IP="61.137.85.21"

#內網網卡

INT_IF="eth1"

LAN_IP="192.168.0.1"

LAN_IP_RANGE="192.168.0.0/255.255.255.0"

#載入模組,一般已內建

#Module loading.

#echo "modprobe modules"

#modprode ip_tables

#modprode ip_nat_ftp

#modprode ip_conntrack

#modprobe ip_conntrack_ftp

#啟用轉寄(forward)功能

echo "enabling IP FORWARDING......"

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

#規則初始化,設定預設都為drop

echo "enabling iptables rules"

#reset the default policies in the tables

#Iptables 命令參數

iptables -F

iptables -X

iptables -F -t mangle

iptables -X -t mangle

iptables -F -t nat

iptables -X -t nat

iptables -Z -t nat

#set policies

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

###-----------------------------------------------------------------###

#過慮蠕蟲

#444/445/69/135/139

###-----------------------------------------------------------------###

iptables -A FORWARD -p tcp --dport 4444 -j DROP

iptables -A FORWARD -p udp --dport 4444 -j DROP

iptables -A FORWARD -p tcp --dport 445 -j DROP

iptables -A FORWARD -p udp --dport 445 -j DROP

iptables -A FORWARD -p tcp --dport 69 -j DROP

iptables -A FORWARD -p udp --dport 69 -j DROP

iptables -A FORWARD -p tcp --dport 135 -j DROP

iptables -A FORWARD -p udp --dport 135 -j DROP

iptables -A FORWARD -p tcp --dport 139 -j DROP

iptables -A FORWARD -p udp --dport 139 -j DROP

#允許ping localhost,ping 192.168.0.1/2

#allow loopback access

iptables -A INPUT -p icmp -i lo -j ACCEPT

iptables -A OUTPUT -p icmp -o lo -j ACCEPT

#開啟內對內串連

#iptables -A INPUT -i lo -j ACCEPT

#允許代理和內網客戶機相互傳輸資料(包括ping)

#allow ping LAN

iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT

iptables -A OUTPUT -p ALL -o $INT_IF -d $LAN_IP_RANGE -j ACCEPT

#允許外網的網卡與內網相互連訊.接受資料只接受響應封包,否則不予允許存取.發送資料沒有限制.

iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT

iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT

#拒絕外部使用內網進行欺騙

#deny local cheat

iptables -A INPUT -i $EXT_IF -s 192.168.0.0/16 -j DROP

iptables -A INPUT -i $EXT_IF -s 10.0.0.0/8 -j DROP

iptables -A INPUT -i $EXT_IF -s 172.16.0.0/12 -j DROP

iptables -A INPUT -i $EXT_IF -s 127.0.0.0/8 -j DROP

#從LAN進入防火牆主機的dhcp封包,不於允許存取,只有防火牆擔任DHCP時才允許存取

#deny DHCP_packets from LAN

iptables -A INPUT -p udp -i $INT_IF --dport 67 --sport 68 -j DROP

###-----------------------------------------------------------------------------------###

#配置向外方向的TCP規則,其中 --state ESTABLISHED ,NEW參數指定要檢查哪個狀態。

#ESTABLISHED標誌匹配屬於已有的TCP串連的封包.

#NEW標誌指定試圖建立一條新的TCP串連的第一個封包,這條規則指明屬於建立的和已建立的

#TCP串連的封包將會通過eth0連接埠向外發送.

###-----------------------------------------------------------------------------------###

iptables -A OUTPUT -o $EXT_IF -p tcp -m state --state ESTABLISHED,NEW -j ACCEPT

###----------------------------------------------------------------------------------###

#配置封包從一個連接埠轉寄到另一個連接埠

###----------------------------------------------------------------------------------###

iptables -A FORWARD -i $INT_IF -j ACCEPT

# same to above 和上面的規則功能相同

#iptables -A FORWARD -i $EXT_IF -m state --state ESTABLISHED,RELATED -j ACCEPT

###-------------------------------------------------------------------------------------###

#檢查到達外部網路介面的封包狀態.屬於已有TCP串連的封包都允許通過

# 從WAN到LAN的封包僅允許存取回應封包

###-------------------------------------------------------------------------------------###

iptables -A INPUT -i $EXT_IF -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

# 限制過濾規則的比對頻率為每分鐘平均流量三個封包(超過上限的封包將暫停比對),

#並將瞬間流量設定為一次最多處理三個封包(超過上限的封包將丟棄不予處理),

#這類封包通常是駭客用來進行阻斷式攻擊

iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT INPUT packets died:"

###-------------------------------------------------------------------------###

#不管來自哪裡的ip片段都進行控制,允許每秒通過100個片段

###-------------------------------------------------------------------------###

iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

###-------------------------------------------------------------------------###

#icmp包通過的控制,防止icmp駭客攻擊

###-------------------------------------------------------------------------###

iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

###-------------------------------------------------------------------------###

# 防止DDOS

###-------------------------------------------------------------------------###

#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

###-------------------------------------------------------------------------###

# UDP包一律允許存取

# allow UDP

###-------------------------------------------------------------------------###

iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT

###-------------------------------------------------------------------------###

#根據mac屏蔽主機上網

###-------------------------------------------------------------------------###

#iptables -t nat -I PREROUTING -m mac --mac-source 4C:00:10:D8:57:F3 -j DROP

###-----------------------------------------------------###

# 開放內部主機可以telnet至外部主 telnet port 23

###-----------------------------------------------------###

#沒必要開啟23連接埠

#iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT

#iptables -A INPUT -i $EXT_IF -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT

###-----------------------------------------------------###

# 開放郵包轉送通道 open SMTP port 25

###-----------------------------------------------------###

#以下是別人可以送信給你

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.