[Iptables] 防火牆設定指南 – iptables for CentOS & Ubuntu

Introduction

CentOS & Ubuntu iptables guide.

其中CentOS我認為較方便設定。


設定檔

CentOS

/etc/sysconfig/iptables

CentOS直接修改設定檔後重啟即可,且永久生效。

service iptables restart

Ubuntu

Ubuntu – IptablesHowTo

沒有可編輯設定檔,只能透過iptables指令加入編輯。

$ iptables {rule}

例如:

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.0.1/16 --dport 22 -j ACCEPT

新增與載入設定檔

Ubuntu社群大多建立/etc/iptables.rules作為IPTABLES規則表,再下指令引入至IPTABLES:

# 利用指令建立規則表,會自動包含格式
iptables-save > /etc/iptables.rules
# 載入規則表,立即生效至IPTABLES
iptables-restore < /etc/iptables.rules

永久生效設定:

sudo vim /etc/network/interfaces

在主要網路卡最後面加入:(每次開機後套用&每次關機前保存)

pre-up iptables-restore < /etc/iptables.rules  
post-down iptables-save > /etc/iptables.rules

規則

規則表需要包含三向的完整設定,如Ubuntu的iptables-save格式:

*filter                   
:INPUT ACCEPT [416:33446] 
:FORWARD ACCEPT [0:0]     
:OUTPUT ACCEPT [147:59940]
COMMIT

以SSH(22)白名單開放For OUTPUT ACCEPT為例:

-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.0.1/16 --dport 22 -j ACCEPT

Leave a Reply

Your email address will not be published. Required fields are marked *