六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>學(xué)習(xí)電腦>網(wǎng)絡(luò)知識>局域網(wǎng)知識>

如何搭建局域網(wǎng)的irc服務(wù)器

時(shí)間: 林輝766 分享

  這幾周在公司里新加入的開發(fā)人員越來越多,而且都分布在不同的樓群里,為了大家能夠方便地交流sys admin就設(shè)置了一個(gè)IRC Server.所以周末有空的時(shí)候我也在家實(shí)驗(yàn)了一下,小編拿出來和大家分享!自己動(dòng)手搭建linux下的IRC服務(wù)器!

  1.什么是IRC

  IRC(Internet Relay Chat)是一種即時(shí)的網(wǎng)上聊天論壇。它可以支持用戶進(jìn)行一對一或者多對多的網(wǎng)上通信,以及文件的傳輸。一個(gè)IRC服務(wù)器還可以加入到其他的IRC服務(wù)器當(dāng)中從而不斷擴(kuò)充IRC服務(wù)器的數(shù)量和連接(當(dāng)然我自己的實(shí)驗(yàn)只是構(gòu)造一個(gè)在局域網(wǎng)中使用的IRC,所以這一點(diǎn)不加以討論)

  2.服務(wù)器的選擇和安裝

  因?yàn)槲易约菏荄ebian的用戶,所以我就選擇了在發(fā)行版中自帶的ircu (The Undernet Internet Relay Chat Daemo)(當(dāng)然還有其他很不錯(cuò)的server比如UnrealIRCd和ircd-hybrid)

  以"root"用戶登錄執(zhí)行以下命令就可以了

  # apt-get install ircd-ircu

  如果想查看一下具體安裝了哪些文件可以使用dpkg命令

  # dpkg -c ircd-ircu_.deb

  或者你也可以去到官方網(wǎng)站下載源碼包然后自己編譯

  3.服務(wù)器的配置

  安裝完畢后我們就應(yīng)該可以在/etc/ircd目錄中找到ircu的配置文件了,其中包括了:

  ircd.conf (主要的配置文件)

  ircd.motd

  oper.motd

  remote.motd

  這應(yīng)該是最關(guān)鍵的一步了。和其他的IRC服務(wù)器比較起來我覺得ircu的配置文件是最難讀懂的,因?yàn)槔锩鎺缀鯖]有任何注釋,連man page也沒有。我想這是Undernet以后應(yīng)該改進(jìn)的地方。不過沒關(guān)系,在/usr/share/doc/ircd-ircu這個(gè)目錄中它還是給出了很多example的配置文件,里面的注釋就比較詳盡。這里再指出一點(diǎn)就是我是建立一個(gè)只供局域網(wǎng)內(nèi)部用戶使用的IRC服務(wù)器,所以任何涉及連接到外部服務(wù)器的配置都會(huì)不加以討論。好了,那我們來看一下如何配置ircd.conf文件吧。

  打開這個(gè)文件后你會(huì)看到很多以子母打頭的line,每一個(gè)子母都代表了對服務(wù)器不同功能的配置,我們來逐一分析一下。

  名稱: M line

  格式: M:[server name]:[virtual host]:[description]::[numeric]

  注釋: M line主要是用來定義服務(wù)器的信息

  [server name]服務(wù)器的名字

  [virtual host]連接外部的IP地址(可以設(shè)置成服務(wù)器主網(wǎng)卡的IP地址)

  [description]對服務(wù)器的介紹

  [numeric]定義服務(wù)器的數(shù)字ID,應(yīng)用于服務(wù)器與服務(wù)器之間的連接。必須是唯一的

  舉例: M:leonard.home:192.168.1.7:Leonard's first IRC server::1

  名稱: A line

  格式: A:[line 1]:[line 2]:[line 3]

  注釋: A line主要定義服務(wù)器的管理信息(也就是你登錄IRC之后輸入/Admin看到的信息)。

  舉例: A:Administrator is Leonard:Please contact me using the following email:leonard@hotmail.com

  名稱: Y lines

  格式: Y:[class]:[ping frequency]:[connect frequency]:[maximum links]:[maximum sendq]

  注釋: Y lines是來定義連接的類別,也就是說給每個(gè)到我們服務(wù)器的連接分配不同的資源和設(shè)置

  [ping frequency]服務(wù)器ping客戶端的頻率(以測試其是否alive),單位為秒

  [class]這項(xiàng)類別的數(shù)字ID

  [connect frequency]對于外部服務(wù)器的連接頻率,單位為秒

  [maximum links]外來的最大連接數(shù)

  [maximum sendq]外來的最大可以被積壓的傳輸數(shù)據(jù),單位為bytes

  舉例: # A class for very welcome clients (users in LAN, for example)

  Y:10:90:0:200:65536

  # A class that will allow only a limited number of connections

  Y:20:90:0:50:32768

  名稱: I lines

  格式: I:[address/hostmask]:[password/limit]:[hostmask]::[class]

  注釋: I lines是用來對于每個(gè)試圖連接服務(wù)器的客戶進(jìn)行驗(yàn)證,并把他們歸入到Y(jié) lines的類別中去。驗(yàn)證方法如下:

  1.對于任何試圖連接的IP,服務(wù)器會(huì)先做一個(gè)reverse lookup

  2.如果得到了其hostname,那么將會(huì)去找對應(yīng)的hostmask

  3.如果沒有找到hostname,那么將會(huì)去找對應(yīng)的ip mask

  4.如果沒有一行I line與之相對應(yīng)那么連接將會(huì)被拒絕

  [address/hostmask]客戶端的地址或域名。可以使用wild card e.g. ?, *

  [password/limit]設(shè)置密碼或者是連接數(shù)量。如果設(shè)為0的那話那么就是指沒有連接限制

  [class]在Y lines中定義的class

  舉例:這里需要指出的是I line中的配置文件都是倒過來驗(yàn)證的。所以我們應(yīng)該先定義gerneral rules再來定義more specific rules

  #我將所有局域網(wǎng)的用戶歸為class 10,其他的歸為20

  I:*@*::Unresolved::20

  I:Resolved::*@*::20

  I:*@192.168.1.*:2:Unresolved::10

  名稱: K lines

  格式: K:[mask]:["reason"]:[username]

  注釋:雖然在I lines中也可以做到限制用戶的登錄,但是K lines才是真正用來屏蔽用戶登錄的

  [mask]可以是IP地址或域名。注意如果使用IP的話需要用小寫的k.支持wild cards e.g. * 還可以使用$R來屏蔽用戶的real name

  [reason]給出一個(gè)拒絕用戶登錄的理由。注意需要用雙引號。如果以!開頭,那么后面應(yīng)該跟文件名

  [username]客戶端的用戶名

  舉例:K:*.com:"Please leave us with peace":*

  k:147.197.*"No connection from my uni":* #屏蔽IP的話需要用小寫的k

  K:$R*sub7*:"You are infected with a Trojan":*

  名稱: O lines

  格式: O|o:[host|ip mask]:[password]:[nick]::[class]

  注釋: O lines是用來使連接的用戶獲得管理員的權(quán)限。大寫的O使用來指定global operator也就是所有連接服務(wù)器的管理員。小寫的o是用來指定本地管理員

  [host|ip mask] IP地址或者域名

  [password]管理員密碼。使用tools/mkpasswd來生成(在新版本中已換成umkpasswd)

  [nick]用戶連接使用的昵稱

  [class]把用戶歸為此class

  舉例: #只有在局域網(wǎng)中以leonard昵稱登錄并正確輸入密碼后才可以成為管理員

  o:192.168.1.*:5rxV6zRJ8FgHE:leonard::1

  名稱: P lines

  格式: P:[IP-mask]:[address]:[status]:[port]

  注釋: P lines是用來定義服務(wù)器綁定的端口以及其接受連接的類型

  [IP-mask]定義了哪些IP地址可以連接到這個(gè)端口

  [address]可以綁定端口的服務(wù)器本地IP address

  [status] 客戶端為"C",服務(wù)器為"S".同時(shí)你還可以在后加上H用來代表status為隱藏

  [port]服務(wù)器綁定的端口。必須大于1024。通常為6667

  舉例: #設(shè)定一個(gè)只有局域網(wǎng)客戶可以連接的端口

  P:192.168.1.*:192.168.1.7:CH:6667

  名稱: T lines

  格式: T:[hostmask|class]:[motd-file]

  注釋:根據(jù)不同用戶的地址或者類別來決定顯示哪個(gè)motd(message of today)文件

  [hostmaks] IP地址或者域名

  [class] Y lines中的類別

  [motd-file]指定motd文件

  舉例: T:192.168.1.*:local.motd

  T:20:external.motd

  名稱: F lines

  格式: F:[feature]:[value]

  注釋:設(shè)置服務(wù)器的附加屬性。以前ircu需要你把很多的附加屬性在compile的時(shí)候就指定編譯,為了方便起見這里提供了F lines

  舉例:由于可以指定的屬性比較多,這里就不一一列數(shù)了,可以參考/usr/share/doc/ircd-ircu/readme.features.gz

  到此為止我羅列了一些需要搭建一個(gè)standalone IRC Server所需要的最基本的配置。還有很多l(xiāng)ine的用法這里沒有提到,因?yàn)樗麄冎写蠖鄷际巧婕暗竭B接其他的服務(wù)器

  4.啟動(dòng)IRC Server

  如果你是用apt安裝的話,那么在ircu的包中應(yīng)該已經(jīng)包括了一個(gè)rc script。你只需以"root"來執(zhí)行以下命令就可以了

  # /etc/init.d/ircd-ircu start

  如果改變了ircd.conf后想重載設(shè)置文件的話可以用

  # /etc/init.d/ircd-ircu reload

  如果你是用源代碼編譯的話,可以找到ircd的binary文件然后運(yùn)行。一定要注意的是千萬不要用root來執(zhí)行ircd程序,這樣會(huì)給你的系統(tǒng)造成很大的安全隱患。在安裝的過程中ircu一般會(huì)在系統(tǒng)中建立一個(gè)名為irc的用戶,可以先su irc,然后再執(zhí)行ircd。(上面用rc script的時(shí)候會(huì)自動(dòng)以irc用戶來運(yùn)行服務(wù)器,所以沒有問題)

  5.安全設(shè)置

  總的來說IRC不是一個(gè)自身帶有很強(qiáng)安全性的service,所以我列舉幾條自己認(rèn)為需要注意的問題:

  1.剛才已經(jīng)提到過了用root啟動(dòng)ircu是不安全的,好在現(xiàn)在大多數(shù)的IRC服務(wù)器都不允許你直接以root來運(yùn)行,它會(huì)自行中止程序并給出提示。

  2.另外盡量隱藏你服務(wù)器和客戶端的信息也是一個(gè)增強(qiáng)安全設(shè)置的好方法。Undernet自己就曾經(jīng)被DDos攻擊過。同時(shí)你也可以修改指定的端口(6667)

  3.用Y lines和I lines來對用戶進(jìn)行嚴(yán)格分類

  4.用P lines來限制用戶的連接

  5.用K lines來屏蔽不信任的用戶

  6.謹(jǐn)慎地給與用戶管理員的權(quán)利。把可以成為管理員的[hostmask]設(shè)置到越精確越好

  7.安裝帶有SSL支持的IRC服務(wù)器

  8.另外永遠(yuǎn)不要只依賴一項(xiàng)工具來保證你的安全性。我們還可以用iptables來禁止局域網(wǎng)以外的用戶來登陸IRC服務(wù)器

  # iptables -A INPUT -s ! 192.168.1.0 -p tcp --dport 6667 -j DROP

  6.日志文件

  日志文件始終是我們監(jiān)測一個(gè)服務(wù)器運(yùn)行狀況的好工具。ircu提供了多種日志的方式,包括常規(guī)的syslog,自己設(shè)置的日志文件以及可以把日志記錄在另一臺服務(wù)器上。同時(shí)在F lines里我們也可以設(shè)置不同日志文件的名稱以及日志的級別。Default的日志文件都儲(chǔ)存在/var/log/ircd目錄下

  7. IRC客戶端軟件

  終于設(shè)置好了服務(wù)器,那么就找一些客戶端來測試以下吧

  ircII (http://www.eterna.com.au/ircii/)

  這個(gè)是linux下的終端樣式的IRC client.有著比較強(qiáng)大的命令行功能。還有就是也這是Debian發(fā)行版里有的軟件,所以偷懶一下的話又是apt就可以了

  xchat (http://www.xchat.org)

  老牌的linux下的IRC client,據(jù)說功能十分強(qiáng)大,不過我沒有用過就不多加評論了

  gaim (http://www.pidgin.im/)

  我個(gè)人十分喜歡這個(gè)軟件,原因是因?yàn)間aim可以支持很多種protocol,這樣就可以同時(shí)運(yùn)行很多種不同的聊天工具。試想一下一款可以讓你同時(shí)開著msn, qq, google talk, yahoo messenger, icq and IRC的軟件會(huì)是多好啊(呵呵,當(dāng)然如果你開那么多的話一定忙死)。還有就是我感覺gaim在Windows下的穩(wěn)定性也很好

  ChatZilla (http://www.mozilla.org/projects/rt-messaging/chatzilla/)

  這是一款基于瀏覽器的IRC插件,用firefox的朋友可以輕松地安裝上它,這樣開著網(wǎng)頁的時(shí)候就可以和IRC上的朋友們交談了

  至于IRC的命令我看論壇里很多好的貼子都介紹過了,我在這里就不重復(fù)了

如何搭建局域網(wǎng)的irc服務(wù)器

這幾周在公司里新加入的開發(fā)人員越來越多,而且都分布在不同的樓群里,為了大家能夠方便地交流sys admin就設(shè)置了一個(gè)IRC Server.所以周末有空的時(shí)候我也在家實(shí)驗(yàn)了一下,小編拿出來和大家分享!自己動(dòng)手搭建linux下的IRC服務(wù)器! 1.什么是
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • 如何搭建局域網(wǎng)服務(wù)器
    如何搭建局域網(wǎng)服務(wù)器

    現(xiàn)在的項(xiàng)目中經(jīng)常會(huì)涉及到GIS相關(guān)的技術(shù),項(xiàng)目人員往往又對GIS一竅不通。地圖數(shù)據(jù)怎么獲取?GIS服務(wù)器如何選擇?GIS離線站點(diǎn)怎么搭建?有沒有一種簡單又好

  • 如何搭建局域網(wǎng)聯(lián)機(jī)游戲
    如何搭建局域網(wǎng)聯(lián)機(jī)游戲

    一個(gè)人玩游戲,固然孤單,所有才有了聯(lián)機(jī)一說,和一群小伙伴們一起玩游戲才夠爽!今天,下面小編就教給各位幾種搭建局域網(wǎng)的方法: 如果是兩個(gè)人甲

  • 如何搭建局域網(wǎng)平臺
    如何搭建局域網(wǎng)平臺

    局域網(wǎng)交換機(jī)是網(wǎng)絡(luò)構(gòu)建中的一個(gè)平臺,局域網(wǎng)交換機(jī)需要更少的配置,更小的空間,更少的布線,價(jià)格更便宜,并能提供更高更可靠的性能,企業(yè)級交換

  • 如何搭建局域網(wǎng)視頻服務(wù)器
    如何搭建局域網(wǎng)視頻服務(wù)器

    經(jīng)常會(huì)聽到有網(wǎng)友問,局域網(wǎng)電影點(diǎn)播系統(tǒng)軟件有哪些啊?怎么建立局域網(wǎng)電影服務(wù)器啊,架設(shè)一個(gè)局域網(wǎng)電影點(diǎn)播服務(wù)系統(tǒng)需要做哪些工作啊,諸如此類的

568711