iptables基礎實戰練習

(1) 放行ssh (端口:22)

1 iptables -A INPUT -d 192.168.42.153 -p tcp --dport 22 -j ACCEPT
2 iptables -A  OUTPUT -s  192.168.42.153  -p tcp  --sport  22 -j ACCEPT

(2)修改默認規則鏈(關閉所有端口)

1 iptables -P INPUT DROP
2 iptables -P OUTPUT DROP
3 iptables -P FORWARD DROP

(3)放行web(80)端口 httpd nginx

1 iptables -I INPUT -d 192.168.42.153 -p tcp --dport 80 -j ACCEPT
2 iptables -I OUTPUT -s 192.168.42.153 -p tcp --sport 80 -j ACCEPT

(4)修改默認規則鏈后,我們發現ping不通自己,也ping不通別的主機

1 iptables -t filter -I INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo  -j ACCEPT 
2 iptables -t filter -I OUTPUT -s 127.0.0.1 -d 127.0.0.1 -o lo  -j ACCEPT

(5)允許自己ping別的主機

1 iptables -t filter -I OUTPUT -s 192.168.42.153 -d 0/0  -p icmp --icmp-type 8 -j ACCEPT
2 iptables -t filter -I INPUT -s 0/0 -d 192.168.42.153 -p icmp --icmp-type 0 -j ACCEPT

(6)允許任何人來ping本機

1 iptables -t filter -I INPUT -s 0/0 -d 192.168.42.153 -p icmp --icmp-type 8 -j ACCEPT
2 iptables -t filter -I OUTPUT -s 192.168.42.153 -d 0/0  -p icmp --icmp-type 0 -j ACCEPT

(7)同時開發多個端口(多端口匹配)

1 iptables -I INPUT -s 0/0 -d 192.168.42.153 -p tcp -m multiport --dports 22,80,3306 -j ACCEPT
2 iptables -I INPUT -d 0/0 -s 192.168.42.153 -p tcp -m multiport --sports 22,80,3306 -j ACCEPT

(8)iptables -vnL –line-numbers #顯示數字

iptables  -vnL INPUT  --line-numbers 
Chain INPUT (policy DROP 1 packets, 229 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        8   576 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.42.153       icmptype 8
2       12  1008 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.42.153       icmptype 0
3       16  1226 ACCEPT     all  --  lo     *       127.0.0.1            127.0.0.1           
4       88  7565 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.42.153       tcp dpt:80
5     2135  163K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.42.153       tcp dpt:22

(9) 源地址,目的地址范圍匹配

1 iptables -I INPUT -d 192.168.42.153 -p tcp --dport 23 -m iprange --src-range 192.168.42.150-192.168.42.158 -j ACCEPT
2 iptables -I OUTPUT -s 192.168.42.153 -p tcp --dport 23 -m iprange --dst-range  192.168.42.150-192.168.42.158 -j ACCEPT

(10)禁止包含”old”字符的頁面出來

1 iptables -I OUTPUT -s 192.168.42.153 -d 0/0 -p tcp --sport 80 -m string --algo bm --string "old" -j DROP

(11)基于時間限定,9點到19點,禁止訪問80端口

1 iptables -I INPUT -s 0/0  -d 192.168.42.153 -p tcp --dport 80  -m time --timestart 09:00:00 --timestop 19:00:00 --kerneltz  -j DROP

(12)周一到周五9點到19點禁止訪問80端口

1 iptables -I INPUT  -d 192.168.42.153 -p tcp --dport 80  -m time --timestart 09:00:00 --timestop 19:00:00 --kerneltz --weekdays 1,2,3,4,5  -j DROP

(13)端口大于2個并發連接(禁止)

1 iptables -I INPUT -s 0/0 -d 192.168.42.153 -p tcp  --dport 22 -m connlimit --connlimit-above 2 -j DROP

(14)端口同一個客戶端小于3個并發連接

1 iptables -I INPUT -s 0/0 -d 192.168.42.153 -p tcp  --dport 22 -m connlimit ! --connlimit-above 3 -j DROP

 

(15)目標地址和端口轉換示例(對22端口的轉換)

1 iptables -t nat -A PREROUTING -d 10.1.249.125 -p tcp --dport 22022 -j DNAT --to-destination 192.168.2.4:22

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86859

(2)
sunhaosunhao
上一篇 2017-09-10 20:49
下一篇 2017-09-10 22:51

相關推薦

  • 開發團隊的效率

    我之前寫過一篇叫《加班與效率》的文章,從概念上說了一些我對“效率”的認識,但是那篇文章趨于概念化,對于一些沒有經歷過這樣的環境的同學來說,可能會覺得太抽象了。很早以前就想寫一篇更具體一點的,可執行的文章與《加班與效率》這篇文章相輝映,并再把我兩年前在杭州QCon上的那個“鼓吹工程師文化”的《建一支強大的小團隊》(新浪微盤)的觀點再加強一下。 但是我遇到了一些…

    Linux干貨 2016-08-15
  • Linux網絡管理

                          Linux網絡管理   本章內容: 網絡概念 OSI七層模型 網絡設備 TCP/IP IP地址 配置網絡 實現網絡組 測試網絡 網絡工具   網絡用戶應用程序: WEB瀏覽器(…

    系統運維 2016-09-12
  • 第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 答:     復制目錄:cp -R /etc/skel /home/tuser1     修改權限:chmod -R go=- /home/tuser1 2、編輯/etc/group文件…

    Linux干貨 2016-12-07
  • shell編程之循環及函數

    for 循環 for 變量名 in 列表;do    循環體 done   執行機制: 依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中 的元素耗盡,循環結束   列表生成方式: (1)直接給出列表 (2)整數列表: (a) {start..end} (b) $(seq [start [s…

    Linux干貨 2016-08-24
  • 馬哥教育網絡班21期-第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; grep ^[[:space:]] /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; egrep "^#[[:space:]]{1,}[[:alnum:]]…

    Linux干貨 2016-08-08
  • Nginx作為web服務器的使用配置

    概述     Nginx是一款免費開源的web服務器,同時也可以作為http、imap/pop3協議進行反代服務器,本篇介紹一些nginx作為web服務器方面的相關配置,具體包含:     1、nginx基礎概念介紹     2、nginx…

    Linux干貨 2016-10-27
欧美性久久久久