linux中iptables对防火墙的操作
Iptables教程
1. iptables防火墻簡介
Iptables也叫netfilter是Linux下自帶的一款免費且優秀的基于包過濾的防火墻工具,它的功能十分強大,使用非常靈活,可以對流入、流出、流經服務器的數據包進行精細的控制。iptables是Linux2.4及2.6內核中集成的模塊。
2. Iptables服務相關命令
1.查看iptables狀態
service iptables status
2.開啟/關閉iptables
service iptables start
service iptables stop
3.查看iptables是否開機啟動
chkconfig iptables –list
4.設置iptables開機啟動/不啟動
chkconfig iptables on
chkconfig iptables off
3. iptables原理簡介
3.1. iptables的結構
在iptables中有四張表,分別是filter、nat、mangle和raw每一個表中都包含了各自不同的鏈,最常用的是filter表。
? filter表:
filter是iptables默認使用的表,負責對流入、流出本機的數據包進行過濾,該表中定義了3個鏈:
INPOUT 負責過濾所有目標地址是本機地址的數據包,就是過濾進入主機的數據包。
FORWARD 負責轉發流經本機但不進入本機的數據包,起到轉發的作用。
OUTPUT 負責處理所有源地址是本機地址的數據包,就是處理從主機發出去的數據包。
#查看幫助 iptables -h man iptables列出iptables規則 iptables -L -n 列出iptables規則并顯示規則編號 iptables -L -n --line-numbers列出iptables nat表規則(默認是filter表) iptables -L -n -t nat清除默認規則(注意默認是filter表,如果對nat表操作要加-t nat) #清楚所有規則 iptables -F #重啟iptables發現規則依然存在,因為沒有保存 service iptables restart#保存配置 service iptables save#禁止ssh登陸(若果服務器在機房,一定要小心) iptables -A INPUT -p tcp --dport 22 -j DROP//靜止22端口被訪問 #刪除規則 iptables -D INPUT -p tcp --dport 22 -j DROP-A, --append chain 追加到規則的最后一條 -D, --delete chain [rulenum] Delete rule rulenum (1 = first) from chain 刪除 -I, --insert chain [rulenum] Insert in chain as rulenum (default 1=first) 添加到規則的第一條 -p, --proto proto protocol: by number or name, eg. 'tcp',常用協議有tcp、udp、icmp、all -j, --jump target 常見的行為有ACCEPT、DROP和REJECT三種,但一般不用REJECT,會帶來安全隱患注意:INPUT和DROP這樣的關鍵字需要大寫#禁止192.168.33.0網段從eth0網卡接入 iptables -A INPUT -p tcp -i eth0 -s 192.168.33.0 -j DROP iptables -A INPUT -p tcp --dport 22 -i eth0 -s 192.168.33.61 -j ACCEPT#禁止ip地址非192.168.10.10的所有類型數據接入 iptables -A INPUT ! -s 192.168.10.10 -j DROP#禁止ip地址非192.168.10.10的ping請求 iptables -I INPUT -p icmp --icmp-type 8 -s 192.168.50.100 -j DROP#擴展匹配:1.隱式擴展 2.顯示擴展#隱式擴展-p tcp--sport PORT 源端口--dport PORT 目標端口#顯示擴展:使用額外的匹配規則-m EXTENSTION --SUB-OPT-p tcp --dport 22 與 -p tcp -m tcp --dport 22功能相同state:狀態擴展,接口ip_contrack追蹤會話狀態NEW:新的連接請求ESTABLISHED:已建立的連接請求INVALID:非法連接RELATED:相關聯的連接#匹配端口范圍 iptables -I INPUT -p tcp --dport 22:80 -j DROP#匹配多個端口 iptables -I INPUT -p tcp -m multiport --dport 22,80,3306 -j ACCEPT#不允許源端口為80的數據流出 iptables -I OUTPUT -p tcp --sport 80 -j DROP%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
總結
以上是生活随笔為你收集整理的linux中iptables对防火墙的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html之属性的定义
- 下一篇: Linux shell编程学习总结