作者 主題: [分享]將你的 inetd 改成 xinetd  (閱讀 12987 次)

0 會員 與 1 訪客 正在閱讀本文。

cremaker

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
    • http://www.cmlab.idv.tw
[分享]將你的 inetd 改成 xinetd
« 於: 2002-03-03 07:43 »
雖說目前 inetd 的用處己不大了(很多 service 都用 standalone 在 work),不過如 telnet(如果你一定要用的話)、pop3 .. 仍然要用到 inetd..

xinetd (eXtended InterNET services daemon) 可用來取代原先 FreeBSD 使用的 inetd。使用 xinetd 有什麼好處呢?請看以下:

1. 安全性佳,可有效的防止 dos 攻擊
2. 良好的存取控制,可設定存取時間、ip 使用範圍
3. 詳細的 log 記錄
4. 支援 IPv6
5. ...

● 安裝 xinetd

可使用 /usr/ports/security/xinetd/ 的 ports 安裝,或到 http://www.xinetd.org/ 下載原始檔編繹安裝

安裝後會產生以下檔案

1. xinetd 執行檔,位於 /etc/local/sbin/ 目錄下
2. xinetd.sh,位於 /usr/local/etc/rc.d/ 目錄下,以便開機時啟動 xinetd
3. xinetd.conf,位於 /etc/ 目錄下,相關的服務皆需在此設定,這個檔案請自行建立,如下:

# touch /etc/xinetd.conf

● 設定 xinetd.conf 及注意事項

1. 先把 inetd 取消掉

=> 將 /etc/rc.conf 中的 inetd_enable="YES" 改為 "NO"
=> kill 掉 inetd
# killall -9 inetd

2. 假設你要在 xinetd 中啟動服務,在 inetd 中是這樣設定的(以 pop3 為例)

pop3 stream tcp nowait root /usr/local/libexec/popa3d popa3d (有點囉嗦..^.^)

在 /etc/xinetd.conf 中要如此設定(比較簡單)

service pop3 -> 對應到 pop3
{
socket_type = stream -> 對應到 stream
wait = no -> 對應到 nowait
user = root -> 對應到 root
server = /usr/local/libexec/popa3d -> 對應到 inetd 的 /usr/.....
}

ps: inetd 中的 tcp 和最後的 popa3d 不用設

3. 啟動 xinetd

# /usr/local/etc/rc.d/xinetd.sh start (stop 可停止 xinetd)

4. 測試 pop3 是否有在 work

# telnet 0 110
正常會有一個 +OK 出現
輸入 quit 結束 telnet

如此就安裝完畢..簡單吧..

● xinetd.conf 參考設定(轉貼)

ftp 的設定

service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l
instances = 4
access_times = 7:00-12:30 13:30-21:00
nice = 10
only_from = 192.168.1.0/24
}

telnet 的設定

service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
only_from = 192.168.1.0/24
redirect = 192.168.1.15 23
}

● 相關參考資料及網址

man xinetd
man xinetd.conf

xinetd 網址 http://www.xinetd.org/

xinetd 教學(非常詳細,雖是原文,但寫的很淺顯) http://www.linuxfocus.org/English/November2000/article175.shtml