酷!學園

技術討論區 => Linux 討論版 => 主題作者是: KK 於 2002-01-14 19:16

主題: 如只讓5個外部網路的IP進來?
作者: KK2002-01-14 19:16
如只讓5個外部網路的IP進來?
假設外部網路的IP(61.10.20.20 , 61.10.20.23 , 61.10.30.10 , 62.20.20.10 , 62.10.30.20) , 我只要這5個IP進來 , 其它IP禁止
請問這樣可以設定嗎?
要如何設定?
主題: 如只讓5個外部網路的IP進來?
作者: Anonymous2002-01-15 10:33
逐個設定囉﹕

iptables -A INPUT -s 61.10.20.20 -j ACCEPT
iptables -A INPUT -s 61.10.20.23 -j ACCEPT
iptables -A INPUT -s 61.10.30.10 -j ACCEPT
iptables -A INPUT -s 61.10.30.20 -j ACCEPT
iptables -A INPUT -j DROP

不過﹐通常不會那麼簡單啦﹐您還要考慮其他回應封包啊﹐
所以﹐最後那行 INPUT 我建議改為﹕

iptables -A INPUT -i eth0 -p tcp --dport 0:1023 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport  -j DROP
iptables -A INPUT -i eth0 -p udp --dport 2049 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 2049-j DROP
iptables -A INPUT -i eth0 -p tcp --dport 7100 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 6000:6009 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 1024:65535 -j ACCEPT
主題: 如只讓5個外部網路的IP進來?
作者: KK2002-01-15 11:44

是用 2.2.x 核心的是不是把iptablese改成ipchains就可以了
主題: 如只讓5個外部網路的IP進來?
作者: Anonymous2002-01-15 18:22
還有將 DROP 該為 DENY
主題: 如只讓5個外部網路的IP進來?
作者: KK2002-01-16 09:48

請問這兩種方法有什麼差別 , 那一種較好?

(一)
ipchains -A INPUT -s 61.10.20.20 -j ACCEPT
ipchains -A INPUT -s 61.10.20.23 -j ACCEPT
ipchains -A INPUT -s 61.10.30.10 -j ACCEPT
ipchains -A INPUT -s 62.20.20.10 -j ACCEPT
ipchains -A INPUT -s 61.10.30.20 -j ACCEPT
ipchains -A INPUT -i eth0 -p tcp --dport 0:1023 -j DENY
ipchains -A INPUT -i eth0 -p tcp --dport -j DENY
ipchains -A INPUT -i eth0 -p udp --dport 2049 -j DENY
ipchains -A INPUT -i eth0 -p tcp --dport 2049-j DENY
ipchains -A INPUT -i eth0 -p tcp --dport 7100 -j DENY
ipchains -A INPUT -i eth0 -p tcp --dport 6000:6009 -j DENY
ipchains -A INPUT -i eth0 -p tcp --dport 1024:65535 -j ACCEPT

(二)
/etc/hosts.deny
ALL:ALL

/etc/hosts.allow
ALL:61.10.20.20
ALL:61.10.20.23
ALL:61.10.30.10
ALL:62.20.20.10
ALL:61.10.30.20

我的是2.2.x 核心 , 以上如有錯誤請更正
謝謝~~
主題: 如只讓5個外部網路的IP進來?
作者: Anonymous2002-01-16 12:58
一個在封包層級﹐
另一個在程式層級﹐

我建議兩個都用上﹐提供雙重保護。
主題: 如只讓5個外部網路的IP進來?
作者: KK2002-01-16 16:56

我有一想法 ,

(1)
如果在這個讓它通過
/etc/hosts.deny
ALL:ALL

/etc/hosts.allow
ALL:61.10.20.20
ALL:61.10.20.23
ALL:61.10.30.10
ALL:62.20.20.10
ALL:61.10.30.20

而在程式層級ipchains設定不讓其中一個ip通過,

(2)
如果在程式層級ipchains設定讓其中一個ip通過,
在這個不讓它通過
/etc/hosts.deny
ALL:ALL

/etc/hosts.allow
ALL:61.10.20.20
ALL:61.10.20.23
ALL:61.10.30.10
ALL:62.20.20.10

那應該誰會搶贏 , 誰有優先權
主題: 如只讓5個外部網路的IP進來?
作者: Anonymous2002-01-16 21:34
您搞錯了﹕

當封包進來之後﹐首先是 ipchains 來檢查﹐
如果通過了﹐才輪到 tcpwrapper 程式來檢查﹐
如果 tcpd 也通過了﹐再看 service 本身的設定(例如 ftpaccess 也可以設定 ftp 的來源)。
主題: 如只讓5個外部網路的IP進來?
作者: KK2002-01-17 09:38

也就是說 , 是透過層層檢查 , 只要有一關沒通過就禁止了