Linux之CentOS7下如何配置iptables
iptables也叫netfilter,是Linux下自帶的一款免費且優(yōu)秀的基于包過濾的防火墻工具,他的功能十分強大,使用也非常靈活,可以對流入、流出、流經(jīng)服務器的數(shù)據(jù)包進行精細的控制。
但是iptables在CentOS7的版本上已經(jīng)被閹割掉了,我們需要自行安裝,以下是在CentOS7下安裝iptables和使用方式。
一、安裝iptables
1.1、查看是否安裝成功
命令:
systemctl status iptables

輸出結果表示沒有iptables的相關服務,我們需要安裝
1.2、安裝iptables
命令:
yum install iptables-services

1.3、檢查是否安裝成功
命令:
systemctl status iptables

輸出結果表示已經(jīng)安裝了iptables但是還沒有啟動
1.4、啟動iptables
命令:
systemctl start iptables.service

再次查看狀態(tài),輸出結果表示已經(jīng)成功啟動iptables
1.5、關閉SELINUX
這里需要關閉SELINUX,因為當SELINUX不關閉時,iptables不讀取配置文件,關于如何關閉SELINUX建議大家瀏覽我的其他Linux:CentOS7下關閉SELINUX
二、命令
2.1、系統(tǒng)命令
systemctl start iptables #啟動 systemctl status iptables #查看運行狀態(tài) systemctl restart iptables.service #重啟 systemctl stop iptables.service #停止 systemctl enable iptables.service #設置開機啟動 systemctl disable iptables.service #禁止開機啟動
2.2、常用命令
iptables -h #查詢幫助 iptables -L -n #列出(filter表)所有規(guī)則 iptables -L -n --line-number #列出(filter表)所有規(guī)則,帶編號 iptables -L -n -t nat #列出(nat表)所有規(guī)則 iptables -F #清除(filter表)中所有規(guī)則 iptables -F -t nat #清除(nat表)中所有規(guī)則 service iptables save #保存配置(保存配置后必須重啟iptables) systemctl restart iptables.service #重啟
三、語法
3.1、filter表解析
filter表是iptables默認使用的表,負責對流入、流出本機的數(shù)據(jù)包進行過濾,該表中定義了3個鏈,分別是:INPUT、OUTPUT、FORWARD
- INPUT:過濾進入主機的數(shù)據(jù)包
- OUTPUT:處理從本機出去的數(shù)據(jù)包
- FORWARD:負責轉發(fā)流經(jīng)本機但不進入本機的數(shù)據(jù)包,起到轉發(fā)作用
3.2、iptables常用語法
- -A:追加到規(guī)則的最后一條
- -D:刪除記錄
- -I:添加到規(guī)則的第一條
- -p:(proto)規(guī)定通信協(xié)議,常見的協(xié)議有:tcp、udp、icmp、all
- -j:(jump)指定要跳轉的目標,常見的目標有:ACCEPT(接收數(shù)據(jù)包)、DROP(丟棄數(shù)據(jù)包)、REJECT(重定向)三種,但是一般不適用重定向,會帶來安全隱患
四、常見案例
4.1、IP過濾
4.1.1、禁止192.168.1.3 IP地址的所有類型數(shù)據(jù)接入
iptables -A INPUT ! -s 192.168.1.3 -j DROP
4.2、開放端口
4.2.1、開放端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #開放80端口
4.2.2、開放端口范圍
iptables -I INPUT -p tcp --dport 22:80 -j ACCEPT #開發(fā)22-80范圍的端口
4.2.3、不允許80端口流出
iptables -I OUTPUT -p tcp --dport 80 -j DROP
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Ubuntu系統(tǒng)下Docker啟動失敗(iptables/nf_tables)的問題排查與修復方法
在 Ubuntu 系統(tǒng)中安裝 Docker 后,有部分用戶在啟動 Docker 服務時遇到如下報錯: Failed to start Docker Application Container Engine,本文將詳細解釋該問題的原因,并提供完整的修復方案,需要的朋友可以參考下2025-09-09
CentOS7 下安裝telnet服務的實現(xiàn)方法
這篇文章主要介紹了CentOS7 下安裝telnet服務的實現(xiàn)方法的相關資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣功能的方法,需要的朋友可以參考下2017-10-10
linux vps服務器進程kswapd0與events/0消耗大量CPU的問題
使用了阿里云的vps服務器網(wǎng)站宕了兩次機,發(fā)工單給阿里云,發(fā)現(xiàn)原因是服務器的CPU 100%了,這也是vps的弊端,內容給的相對小2014-03-03
linux 下jenkins項目搭建過程(centos7為例 )
本文以centos7為例給大家介紹linux 下jenkins項目搭建過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-10-10

