CentOS 7 下使用iptables

一终息、iptables的簡介

iptables/netfilter(下文中簡稱為iptables)組成Linux平臺下的包過濾防火墻夺巩,含有網絡地址轉換(Network Address Translate)、數(shù)據包內容修改以及數(shù)據包過濾等功能周崭。

  1. iptables可以理解成一個是client柳譬,用戶通過iptables這個客戶端代理,將安全設定執(zhí)行到對應的"安全框架"中续镇,這個"安全框架"才是真正的防火墻,名字叫netfilter美澳;
  2. netfilter是iptables的backend,是防火墻真正的安全框架(framework),netfilter位于內核空間摸航。

二制跟、iptable下,數(shù)據經過防火墻的流程

1酱虎、表tables:各類功能相似的規(guī)則rule的集合

iptables內置了4個表優(yōu)先級次序(由高而低):raw --> mangle --> nat --> filter

  • raw表: 優(yōu)先級最高雨膨,通常與NOTRACK一起使用,用于跳過連接跟蹤(conntrack)和 nat 表的處理读串;iptable_raw
  • mangle表:修改包頭部的某些特殊條目聊记,如 TOS撒妈、TTL、打上特殊標記 MARK 等排监,以影響后面的路由決策狰右;iptable_mangle
  • nat表:用于進行網絡地址轉換,如 SNAT(修改源地址)舆床、DNAT(修改目的地址)挟阻、REDIRECT 重定向等;iptable_nat
  • filter表:用于過濾數(shù)據包峭弟,比如 ACCEPT(允許),DROP(丟棄)脱拼、REJECT(拒絕)瞒瘸、LOG(記錄日志);iptable_filter


    表鏈關系
2熄浓、鏈chains:數(shù)據包流轉的線路節(jié)點

iptables上有5條鏈

  • PREROUTING 入站節(jié)點情臭,可以存在于:raw表,mangle表赌蔑,nat表
    INPUT 進入用戶空間前的節(jié)點俯在,可以存在于:mangle表,filter表娃惯,(centos7中還有nat表跷乐,centos6中沒有)
  • FORWARD 轉發(fā)節(jié)點,可以存在于:mangle表趾浅,filter表
  • OUTPUT 離開用戶空間的節(jié)點愕提,可以存在于:raw表mangle表,nat表皿哨,filter表
  • POSTROUTING 出站的節(jié)點浅侨,可以存在于:mangle表,nat表


    數(shù)據經過防火墻的流程

三证膨、CentOS各個版本防火墻的C/S差異

  1. CentOS 6及以前都是iptables/netfilter
  2. CentOS 7默認使用firewalld作為client如输,但是中間還是通過iptables的命令操作netfilter
  3. CentOS 8繼續(xù)使用firewalld作為client,但是底層不再使用iptables命令以及netfilter作為backend了,取而代之的是ntftable


    CentOS各個版本防火墻

四央勒、CentOS 7 恢復使用iptables.service的方法

CentOS 7 默認使用firewalld.service,要想切換iptables.service需要安裝iptables(默認已經安裝了)和iptables-services這兩個依賴包

  1. 停止并關閉開機自啟動 firewalld
$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  1. 安裝iptables-service
$ sudo yum install -y iptables-services
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 iptables-services.x86_64.0.1.4.21-34.el7 將被 安裝
--> 解決依賴關系完成

依賴關系解決

============================================================================================================================================
 Package                                 架構                         版本                                 源                          大小
============================================================================================================================================
正在安裝:
 iptables-services                       x86_64                       1.4.21-34.el7                        base                        52 k

事務概要
============================================================================================================================================
安裝  1 軟件包

總下載量:52 k
安裝大胁患:23 k
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/iptables-services-1.4.21-34.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
iptables-services-1.4.21-34.el7.x86_64.rpm 的公鑰尚未安裝
iptables-services-1.4.21-34.el7.x86_64.rpm                                                                           |  52 kB  00:00:00     
從 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 檢索密鑰
導入 GPG key 0xF4A80EB5:
 用戶ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指紋       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 軟件包     : centos-release-7-8.2003.0.el7.centos.x86_64 (@anaconda)
 來自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安裝    : iptables-services-1.4.21-34.el7.x86_64                                                                                  1/1 
  驗證中      : iptables-services-1.4.21-34.el7.x86_64                                                                                  1/1 

已安裝:
  iptables-services.x86_64 0:1.4.21-34.el7                                                                                                  

完畢!
  1. 設置開機自啟動和啟動iptables.service(此服務沒有daemon在執(zhí)行,會顯示active(exited)崔步,只運行一次結束退出)
$ systemctl enable iptables.service
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
$ systemctl start iptables.service
$ systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since 五 2020-05-29 22:13:36 CST; 8s ago
  Process: 74728 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 74728 (code=exited, status=0/SUCCESS)

5月 29 22:13:36 shell-host systemd[1]: Starting IPv4 firewall with iptables...
5月 29 22:13:36 shell-host iptables.init[74728]: iptables: Applying firewall rules: [  確定  ]
5月 29 22:13:36 shell-host systemd[1]: Started IPv4 firewall with iptables.
  1. 查看配置文件sudo cat /etc/sysconfig/iptables
[clam@shell-host ~]$ sudo cat /etc/sysconfig/iptables
[sudo] clam 的密碼:
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

五脖祈、一些iptables的命令操作

#查看iptables現(xiàn)有規(guī)則  
iptables -L -n  
#先允許所有,不然有可能會杯具  
iptables -P INPUT ACCEPT  
#清空所有默認規(guī)則  
iptables -F  
#清空所有自定義規(guī)則  
iptables -X  
#所有計數(shù)器歸0  
iptables -Z  
#允許來自于lo接口的數(shù)據包(本地訪問)  
iptables -A INPUT -i lo -j ACCEPT  
#開放22端口  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
#開放21端口(FTP)  
iptables -A INPUT -p tcp --dport 21 -j ACCEPT  
#開放80端口(HTTP)  
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  
#開放443端口(HTTPS)  
iptables -A INPUT -p tcp --dport 443 -j ACCEPT  
#允許ping  
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  
#允許接受本機請求之后的返回數(shù)據 RELATED,是為FTP設置的  
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT  
#其他入站一律丟棄  
iptables -P INPUT DROP  
#所有出站一律綠燈  
iptables -P OUTPUT ACCEPT  
#所有轉發(fā)一律丟棄  
iptables -P FORWARD DROP<span style="color:#000000;border:none;"><span style="color:#000000;border:none;">
#保存上述規(guī)則  
service iptables save 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刷晋,隨后出現(xiàn)的幾起案子盖高,更是在濱河造成了極大的恐慌慎陵,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喻奥,死亡現(xiàn)場離奇詭異席纽,居然都是意外死亡,警方通過查閱死者的電腦和手機撞蚕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門润梯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人甥厦,你說我怎么就攤上這事纺铭。” “怎么了刀疙?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵舶赔,是天一觀的道長。 經常有香客問我谦秧,道長竟纳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任疚鲤,我火速辦了婚禮锥累,結果婚禮上,老公的妹妹穿的比我還像新娘集歇。我一直安慰自己桶略,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布诲宇。 她就那樣靜靜地躺著删性,像睡著了一般。 火紅的嫁衣襯著肌膚如雪焕窝。 梳的紋絲不亂的頭發(fā)上蹬挺,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音它掂,去河邊找鬼巴帮。 笑死,一個胖子當著我的面吹牛虐秋,可吹牛的內容都是我干的榕茧。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼客给,長吁一口氣:“原來是場噩夢啊……” “哼用押!你這毒婦竟也來了?” 一聲冷哼從身側響起靶剑,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蜻拨,失蹤者是張志新(化名)和其女友劉穎池充,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缎讼,經...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡收夸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了血崭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卧惜。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夹纫,靈堂內的尸體忽然破棺而出咽瓷,到底是詐尸還是另有隱情,我是刑警寧澤舰讹,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布茅姜,位于F島的核電站,受9級特大地震影響跺涤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜监透,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一桶错、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胀蛮,春花似錦院刁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至再榄,卻和暖如春狡刘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背困鸥。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工嗅蔬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疾就。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓澜术,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猬腰。 傳聞我的和親對象是個殘疾皇子鸟废,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351