iptables详解以及企业常用案例
iptables詳解以及企業常用案例
??? iptables采用netfilter網絡架構實現包過濾防火墻,可以實現硬件防火墻的常用功能,亦可以在應用方案中作為硬件防火墻的替代品.在本文檔里我們將詳細介紹iptables的功能,以及剖析企業常用案例
一、iptables的工作原理
1、iptables的3個表
??? iptables共三個表,分別是filter,nat,mangle。我們通過編輯這三個表可以實現不同的功能。其中fileter主要是為了控制外部PC對本服務器的訪問,比如在服務器上作了web服務,想只允許某網段才能訪問就是利用了fileter進行訪問控制。Nat表主要用在網關服務器上,可以實現nat,路由等功能。Mangle不常用,此教程不做介紹。
2、每個表的規則鏈
iptables默認的表:
filter(包含INPUT,FORWARD,OUTPUT)
Nat(包含PREROUTING,POSTROUTING,OUTPUT)
Mangle (包含INPUT,FORWARD,OUTPUT,PREROUTING ,POSTROUTING)
其中更詳細如下圖所示:
??? 注:filter的OUTPUT規則鏈和nat的OUTPUT沒有聯系,即不同表的規則鏈即使名字相同也毫無關系。
我們通過添加刪除修改規則來改變規則鏈,具體如何修改我們將在下文進行詳細介紹。
二、iptables配置
1、iptables的常用命令
安裝服務所需要的rpm包iptables-*-i386.rpm
安裝服務rpm –ivh iptables*
啟動iptables服務service iptables start
關閉iptables服務service iptables stop
查看iptables服務狀態service iptables status
或者通過腳本來進行啟動|關閉|查看:/etc/init.d/iptables {start|stop|status}
保存當前設置到/etc/sysconfig/iptables:service iptables save
查看當前表中規則iptables [-t 表名]–L????? //如果不指定表名將以filter查看,下同
清空表中規則iptables [-t 表名] –F
刪除自定義規則鏈iptables [-t 表名] –X
計數器歸零iptables –Z
2、iptables默認規則鏈的默認設置
iptables [-t 表名] –P 規則鏈 處理方式???????????
(注:處理方式常用有3種,丟棄,拒絕,接受允許,分別是DROP,REJECT,ACCEPT)
例:我們需要將filter的INPUT規則鏈的默認設置為丟棄,則
iptables –t filter –P INPUT DROP
3、添加iptables規則
iptables [-t 表名] –A 規則鏈 –s 源地址 –d 目的地址 –dport 目的端口 –j 處理方式
例:我們接受外界PING
iptables –t filter –A INPUT –p icmp –j ACCEPT
附:iptables添加規則時所涉及的命令選項以及處理方式
添加規則的命令選項;-i? 指定入口網卡,-o? 指定輸出網卡,-p? 指定數據包協議,如TCP,UDP,-s? 指定源地址,-sport? 指定源端口,-d? 指定目的地址,-dport? 指定目的端口,-j? 處理方式
其中處理方式有一下幾種,ACCEPT? 接受數據包,DROP? 丟棄數據包,REJECT? 拒絕,SNAT源地址轉換,DNAT? 目的地址轉換,MASQUERADE? IP偽裝,LOG? 日志功能。
三、企業常用案例
??? 前言:企業上一般使用腳本來配置iptables,這樣方便以后修改。
1、? 一臺web服務器對外提供http,htp服務,禁止外來的其他訪問。
腳本如下
#!/bin/bash
iptables –F
iptables –X
iptables –Z
iptables –t nat –F
iptables –t nat –X
iptables –t nat –Z
iptables –P INPUT DROP
iptables –P OUTPUT ACCEPT
iptables –P FORWARD ACCEPT
iptables –t nat –P PREROUTING ACCEPT
iptables –t nat –P POSTROUTING ACCEPT
iptables –t nat –P OUTPUT ACCEPT
iptables –A INPUT –p tcp –-dport 80 –j ACCEPT
iptables –A INPUT –p tcp –-dport 21 –j ACCEPT
service iptables save
執行腳本,完成
2、? 企業有一臺linux網管,需要做NAT服務,將192.168.1.0網段的IP修改成網卡ech0的IP
腳本如下
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
service iptables save
執行腳本,完成
轉載于:https://blog.51cto.com/koy1619/284578
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的iptables详解以及企业常用案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信“小号”功能详解
- 下一篇: 话里话外:从“种房子”谈流程与制度的差别