給未來的裕翔
老師說netfilter和iptables不是同一個東西
我一直以為是同一個說~
syslog裡面的格式是: facility.level action
而iptables裡面的LOG是屬於kernel facility
因此會依照syslog的設定紀錄到指定的log檔去
通常是/var/log/messages
防火牆有三個table(據說現在是四個)
filter, nat, mangle
每個talbe又有各自的chain
通常我們都是對filter作處理
filter裡面有三個chain: INPUT, OUTPUT, FORWARD
以iptables指令設定防火牆時
不指定-t就是使用預設的filter table
原則上建議直接以IP作設定, 而不是hostname
因為還需要另外解析, 耗資源
如果我把對方對我的icmp擋掉
它就不能ping我, 但我依然可以ping它
不過它被我ping之後, 回傳給我的icmp reply依然被我擋掉
所以我會不知道我ping它成功了
所以我不讓它ping的代價是我ping它也無法得知?
我們可以對icmp作更細部的規範免此問題
現在iptables -p icmp -h
-h是help的意思
這樣可以列出一堆關於icmp的東東
有八大類, 其中常用的是echo-request和echo-reply
所以我們剛才的設定可以改成
... -p icmp --icmp-type echo-request -j DROP
或是
... -p icmp --icmp-type echo-reply -j ACCEPT
另外, 作設定時, 如果沒有指定-p, protocol
但是有指定port, 這樣會失敗
因為沒指定protocol, 那就是指tcp, udp, icmp三個全部
可是icmp是沒有port概念的, 所以這樣會造成失敗
在設定過程, 驚嘆號的意思是not
如果想要表示連續port, 21:25就是21到25
如果是不連續port?
im multiport --dports 21,23,25
那就是針對21,23,25這三個port進行設定
以下列出個人認為比較有用的iptables指令
iptables -F chain 清掉所有規則, 不加chain就是清掉所有
iptables -L chain 列出chain的所有規則
iptables -P INPUT DROP 對input這個chain的預設policy是drop
自己依此類推OUTPUT, FORWARD和ACCEPT
這樣設定完後要記得service iptables save
老師是建議可以寫一個script放在/etc/rc.d/rc.local
不過我個人偏好直接修改/etc/sysconfig/iptables
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment