網路監控與iptables
iptraf,監控軟體,好處是文字介面下的類圖形介面
特點就是有著親切(?!)的圖型(?!)介面,耗資源很少,蠻簡單好用的工具 1.yum install iptraf安裝 2.直接輸入iptraf即可使用,參數man一下 |
tcpdump,望文生義...
就是一個抓封包的超強軟體啦.... 1.一樣用yum install tcpdump安裝 2.簡單的用法就是 tcpdump -nn -i interface port xx net xxx.xxx.xxx/xx或host xxx.xxx.xxx.xxx 例一: tcpdump -nn -i eth1 port 21 net 192.168.0/24 監看整個192.168.0網段的21 port出入 例二: tcpdump -nn -i eth1 host 192.168.0.1 監看192.168.0.1這台工作站的所有封包出入 例三: 真的要錄下封包要加上-w 檔名 tcpdump -nn -i eth1 host 192.168.0.1 -w 123.log |
使用iptables封鎖特定網站
本方式適合用於NAT環境文章來源 iptables -t nat -A PREROUTING -p tcp -d apps.facebook.com -m multiport --port 80,443 -j DNAT --to 69.63.176.140 然後員工要玩facebook的game時就會像鬼擋牆的一直redirect到facebook的登入首頁, 而員工們只會懷疑是facebook壞了,不會覺得像是MIS動手腳… |
ntop(網路流量監測軟體)安裝
初次設定iptables
以下可以直接寫入rc.local,開機時自動執行 #touch這一行可與/var/run的pid結合,用來判斷系統的服務執行狀況
附帶一提,有時會用到一大個區段,加入方法例如 12.104.192.0/255.255.240.0即可
touch /var/lock/subsys/local /sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD ACCEPT #ACCEPT-lo /sbin/iptables -A INPUT -i lo -p all -j ACCEPT #ACCEPT-連進來的dns服務,不想只用真實ip來記位置就開吧 /sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT #DROP-eth0-ping /sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP #允許哪一個ip在哪一個網卡過來的可以通過,不設定又忘記開服務port,用遠端的人就斷線啦~ /sbin/iptables -A INPUT -i eth0 -s XXX.XXX.XXX.XXX -p all -j ACCEPT #ssh /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #http /sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT #vsftp,看自己開什麼port,如果是學鳥哥那邊的就是照抄 /sbin/iptables -A INPUT -p TCP --dport 21 -j ACCEPT /sbin/iptables -A INPUT -p TCP --dport 65400:65410 -j ACCEPT 底下是加入nat功能,以內部四個網段為例: /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_irc /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/iptables -F -t nat /sbin/iptables -X -t nat /sbin/iptables -Z -t nat #意思就是在路由判斷之前的都Accpet /sbin/iptables -t nat -P PREROUTING ACCEPT #從內部位置出去的,一般都設定為寬鬆的全部通過 /sbin/iptables -t nat -P OUTPUT ACCEPT #意思就是在路由判斷之後的都Accpet /sbin/iptables -t nat -P POSTROUTING ACCEPT echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.101.0/24 -j MASQUERADE /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.102.0/24 -j MASQUERADE 題內話:如果想要將router的功能順便寫進去,記得順便寫下底下的指令 /sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.101.254
--------
/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.101.254 /sbin/route add -net 192.168.102.0 netmask 255.255.255.0 gw 192.168.101.254 iptables設定說明 1.觀看現有的設定: iptables -L (觀看時以服務的名稱方式顯示) iptables -L -n (觀看時以ip和port的方式顯示) 例: 2.重要基本概念! * 建立一個新的(自定)鏈 ( -N )。 > iptables [-AI 鏈] [-io 網路介面] [-p 協定] [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP] --sport:來源封包的 port 號碼,也可以使用 port1:port2 如 21:23 iptables v1.4.4: unknown option --dport' 這種錯誤訊息產生-j :動作,可以接底下的動作; ACCEPT :接受該封包 DROP :丟棄封包 LOG :將該封包的資訊記錄下來 (預設記錄到 /var/log/messages 檔案) 各個規則鏈的預設政策可獨立自主的設定,不必受其它鏈的影響。 iptables [-AI 鏈] [-io 網路介面] [-p 協定] [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP] |