一、安裝iptables防火牆
怎麼知道系統是否安裝了iptables?執行iptables -V,若是顯示如:
iptables v1.3.5
說明已經安裝了iptables。
若是沒有安裝iptables須要先安裝,執行:
yum install iptables
在Linux中設置防火牆,以CentOS爲例,打開iptables的配置文件:
vi /etc/sysconfig/iptables
經過/etc/init.d/iptables status命令查詢是否有打開80端口,若是沒有可經過兩種方式處理:
1.修改vi /etc/sysconfig/iptables命令添加使防火牆開放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
2.關閉/開啓/重啓防火牆
/etc/init.d/iptables stop #start 開啓 #restart 重啓
3.永久性關閉防火牆
chkconfig --level 35 iptables off /etc/init.d/iptables stop iptables -P INPUT DROP
4.打開主動模式21端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
5.打開被動模式49152~65534之間的端口
iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
所有修改完以後重啓iptables:
service iptables restart
你能夠驗證一下是否規則都已經生效:
iptables -L
經過文章的介紹,咱們清楚的知道了CentOS下配置iptables防火牆的過程,但願你們都能掌握它! tcp
二、清除已有iptables規則
iptables -F 清除預設表filter中的全部規則鏈的規則
iptables -X 清除預設表filter中使用者自定鏈中的規則
iptables -Z
三、開放指定的端口
#容許本地迴環接口(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 容許已創建的或相關連的通行
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#容許全部本機向外的訪問
iptables -A OUTPUT -j ACCEPT
# 容許訪問22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#容許訪問80端口
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#容許FTP服務的21和20端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT
#若是有其餘端口的話,規則也相似,稍微修改上述語句就行
#禁止其餘未容許的規則訪問
iptables -A INPUT -j REJECT (注意:若是22端口未加入容許規則,SSH連接會直接斷開。)
iptables -A FORWARD -j REJECT
執行完後,這些配置就像用命令配置IP同樣,重起就會失去做用。必須執行如下命令進行保存。
/etc/rc.d/init.d/iptables save
四、屏蔽IP
#若是隻是想屏蔽IP的話「三、開放指定的端口」能夠直接跳過。
#屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
五、查看已添加的iptables規則
iptables -L -n
v:顯示詳細信息,包括每條規則的匹配包數量和匹配字節數
x:在 v 的基礎上,禁止自動單位換算(K、M)
n:只顯示IP地址和端口號,不將ip解析爲域名
六、刪除已添加的iptables規則
將全部iptables以序號標記顯示,執行:
iptables -L -n –line-numbers
好比要刪除INPUT裏序號爲8的規則,執行:
iptables -D INPUT 8
七、iptables的開機啓動及規則保存
CentOS上可能會存在安裝好iptables後,iptables並不開機自啓動,能夠執行一下:
chkconfig –level 345 iptables on
將其加入開機啓動。
CentOS上能夠執行:service iptables save保存規則。
注意:
必定要給本身留好後路,留VNC一個管理端口和SSh的管理端口
須要注意的是,你必須根據本身服務器的狀況來修改這個文件。rest