openstack

Posted by 주원이^^
2014. 9. 18. 11:11 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. OpenStack

 

  요즘 IT 분야에서는 클라우드 컴퓨팅에 대한 관심이 뜨겁다. 그러나 정작 클라우드가 무엇인지 검색해 보면 속 시원한 설명은 하나도 없다. 나 또한 작년에 클라우드를 접한 후 개념을 잡는데 상당한 시간이 걸렸었는데, 가장 좋은 방법은 역시 직접 사용해 보는 것이었다. 시중에는 클라우드 컴퓨팅의 표준이 되어가고 있는 Amazon이나 국내에서도 통신사업자, 인터넷 서비스업체들이 무료로 클라우스를 접해볼 수 있는 서비스를 제공하고 있다. 하지만 이들의 서비스를 제대로 사용하려면 일정 요금을 지불해야 한다. 또한 내부 구조가 어떻게 되어있는지 파악할 목적이라면 직접 클라우드를 구축해 보는 것이야 말로 가장 좋은 방법일 것이다.

 

  OpenStack은 Rackspace와 NASA가 주축이 되어 시작된 클라우드 매니지먼트 스택으로 Apache 2.0 기반의 오픈소스이다. 현재는 Cisco, HP, Dell, KT, Samsung과 같은 대기업들도 관심을 가지고 적극적으로 개발과 상용화에 참여하고 있으며 Canonical, Suse와 같은 Linux 진영에서도 OpenStack을 기본 패키지에 포함하여 릴리즈 할 계획을 밝히는 등 무서운 성장을 하고 있다. OpenStack은 스토리지 서비스(Swift)와 컴퓨트 서비스(Nova), 이미지 서비스(Glance) 세 가지로 이루어져 있지만 내가 사용해 본 것은 컴퓨트 서비스(이하 Nova)와 이미지 서비스(이하 Glance) 이다. 클라우드 컴퓨트 서비스란 쉽게 말해 강력한 컴퓨팅 파워나 디스크를 가진 먼지 날리고 시끄러운 서버를 집에 두는 것이 아니라 이런 서비스를 제공하는 업체의 데이터 센터에 만들어 두고 인터넷이 되는 곳이라면 어디든 접속할 수 있도록 하는 서비스이다. 작업의 자동화와 관리의 편의를 위해 가상화 기술이 여기에 이용된다. 즉, 사용자에게 제공되는 서버는 가상머신이다. 사용자의 수에 따라 서버 두 세대만 있어도 운영이 가능하다. 나 또한 처음에는 한 대의 서버로 테스트를 했었다. Nova는 원하는 OS 설치와 네트워크 연결, 보안 설정이 완료된 가상의 서버를 클릭 한 번으로 손쉽게 제공해 주는 기능을 포함하는 소프트웨어이다.

그림1.jpg

[그림 1. Nova의 역할]

  소스가 완전히 오픈되어 있고 현재도 활발히 개발이 진행 중이기 때문에 오픈소스 소프트웨어를 사랑하는 사람이라면 설치, 테스트를 해 보는 일이 상당히 재미있을 것이다.

 

2. 설치법

 

  Nova는 간단한 응용프로그램이 아니기 때문에 설치가 간단하지는 않다. 우선 Linux가 깔린 서버가 한 대 이상 필요한데, 여의치 않다면 VirtualBox를 이용해 생성한 가상머신도 괜찮다. 개발자들이 Ubuntu를 사용해서 인지 Ubuntu 환경이 가장 안정적인 것 같았다. 여러 대의 서버로 시스템을 구성하더라도 각 서버의 설치 과정은 동일하다. 서버가 준비되었다면 아래의 방법을 통해 모든 서버에 Nova와 Glance를 설치한다. 설치 과정을 모두 설명하기 보다는 가장 설명이 잘 되어있는 웹 페이지의 링크를 적어두겠다.

 

 

옵션 1. 패키지를 이용한 설치: wiki.openstack.or.kr/index.php/Nova_설치가이드

옵션 2. 스크립트를 이용한 설치: www.devstack.org

옵션 3. 소스코드를 이용한 설치: wiki.openstack.or.kr/index.php/Nova_설치가이드

 

 

  UI 기반의 설치가 아니라서 그리 쉽지는 않지만 패키지나 스크립트를 이용한 설치는 간단한 편이다. 또한 설치하는 과정을 통해 어떻게 클라우드 컴퓨트 시스템이 구성되어 있는지 이해할 수 있을 것이다. 여러 대의 서버로 시스템을 구성 할 경우 어떤 실행파일이나 서비스들이 어떤 서버에서 실행중인지만 config 파일에 잘 명시해 주면 된다.

 

3. 기능 및 사용법

 

  Nova의 설치가 완료되었다면 아래의 과정을 통해 가상머신을 생성할 수 있다. Nova 시스템에 명령을 내리는 방법은 DB, 네트워크, 계정 관리에 필요한 명령이 포함된 관리자 커맨드라인 툴 nova-manage와 가상머신 생성, 사용, 관리에 필요한 명령이 포함된 사용자 커맨드라인 툴 euca2ools, novaclient가 있다.

 

그림2.jpg

 

[그림 2. 가상머신 실행 과정]

 

1) DB 생성

그림_3.jpg    

 

2) 서버별로 필요한 서비스 실행

그림_4.jpg

 

3) 네트워크 생성 및 유동 IP 등록

그림_5.jpg  

 

4) 계정 및 인증 생성

그림_6.jpg  

 

5) Glance 실행

그림7.jpg

 

6) 이미지 등록

그림8.jpg

 

7) 이미지 등록 확인

그림9.jpg

 

8) Keypair 생성

그림10.jpg  

 

9) 이미지 확인 및 선택

그림11.jpg

 

10) 가상머신 생성

그림12.jpg

 

  커맨드라인 툴의 사용이 어렵다면 Dashboard를 이용해도 된다. 다만 Dashboard는 아직까지 불안정한 상태이고 커맨드라인 툴이 제공하는 기능을 모두 포함하고 있지는 않다.

 

그림13.jpg

[그림 3. Dashboard]

 

  이렇게 생성된 가상머신에 접속하는 방법 또한 여러 가지다. 사용 가능한 공인 IP가 있다면 가상머신에 할당해서 공인 IP로 바로 접속이 가능하다. 그렇지 않다면 OpenVPN을 이용해 가상머신과의 가상 네트워크를 만들어 접속하는 방법이 있다. 마지막으로 Web Socket이 지원되는 브라우저(Chrome, Firefox)를 통해 VNC Console 접속이 가능하다.

 

옵션 1) 공인 IP 할당

그림_14.jpg    

 

옵션 2) VPN 접속

계정 및 인증 생성 과정에서 얻어진 nova-vpn.conf와 인증파일들을 이용하면 OpenVPN 프로그램을 이용해 가상머신과 같은 네트워크에 연결이 된다. 

그림_15.jpg

 

Windows로 nova.zip 파일을 다운받아 풀고 nova-vpn.conf 파일의 확장자를 ovpn으로 변경하면 OpenVPN 프로그램을 통해 네트워크 생성이 가능하다.

 

그림16.jpg

 

3) VNC Web Console

 

그림17.jpg

 

 

4. 비교

 

  OpenStack은 오래 전에 클라우드 컴퓨팅 분야에서 자리매김을 한 Amazon의 서비스와 비교해 볼 때 기능 면에서 전혀 뒤지지 않는다. 특히 Nova는 아마존의 컴퓨트 서비스인 EC2 서비스의 API와 호환되도록 설계되었으며 OpenStack이 자체적으로 개발한 OpenStack API는 EC2 API 보다 더 다양한 인터페이스를 제공하고 있다. 뿐만 아니라 대부분의 기능을 드라이버 방식으로 수용할 수 있도록 설계하여 같은 기능이라 하더라도 관리자가 원하는 방식을 선택할 수 있어 확장성/유연성에 있어서는 Amazon의 서비스보다 큰 잠재력을 지녔다고 볼 수 있다.

 

 

5. 결론

 

  OpenStack은 간단한 응용프로그램이 아니기 때문에 일반 사용자들이 관심가질 만한 오픈소스 소프트웨어는 아님이 분명하다. 하지만 클라우드를 알고 싶고 배우고 싶은 사람에게는 최고의 소프트웨어가 아닐까 생각한다.

  그 동안 4번의 공식 릴리즈를 통해 기본적인 기능은 많이 안정화된 상태이며 소규모의 클라우드를 구축하기에는 무리가 없는 수준이다. 다만 지금까지는 기본 기능 개발에 초점이 맞춰져 있었기 때문에 문서화나 사용자 interface가 잘 되어 있지는 않다. 하지만 문제에 부딪히면 직접 파 볼 수 있는 소스가 있고, 덕분에 배울 수 있는 것도 상당하다. 이것이 오픈소스 소프트웨어의 단점이기도 하지만 어찌 보면 장점이 아닐까?

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

ntopng 설치 및 설정  (0) 2014.11.14
zimbra 4번째  (0) 2014.09.18
zimbra 참고자료  (0) 2014.07.04
irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03

zimbra 참고자료

Posted by 주원이^^
2014. 7. 4. 13:31 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

zimbra 설치 기록


zimbra 6.0.10
centos 5.5 64bit


최소 /opt 영역에 6GB 이상의 용량 필요
/opt 파티션을 분리하는 것이 좋을 것임

 


/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.80 example.com mail.example.com mail


yum install gmp perl-5.8.8 sysstat


기존 관련 패키지 중단
chkconfig sendmail off
chkconfig postfix off
chkconfig httpd off
service sendmail stop
service postfix stop
service httpd stop

 

./install.sh --platform-override


ZIMBRA WEB
웹메일 : http://example.com
관리페이지 : https://example.com:7071

TIPS & TRICKS
mail 서버에 DNS cache 서버를 같이 두는게 좋을 것이다.
Zimlet을 설치하면 webmail 지원사양이 향상된다.

 

참조할 자료

Host Email and Calendars with Zimbra 6 on CentOS 5
http://library.linode.com/email/zimbra/install-zimbra-centos-5

Quick guide for installing Zimbra 6 on Centos 5
http://unknownimous.blogspot.com/2010/11/quick-guide-for-installing-zimbra-6-on.html


Howto install Zimbra Collaboration Suite 6-0
http://www.generationip.com/documentation/Howto/137-howto-install-zimbra-collaboration-suite-6-0


http://ver18.files.wordpress.com/2009/07/manual-zimbra.pdf


Install and Setup Zimbra in CentOS
http://coderoman.com/2010/04/install-and-setup-zimbra-in-centos/


스팸 관련 설정 파일
cd /opt/zimbra/conf/salocal.cf.in

blacklist_from sales@viagra.com
whitelist_from bill@yahoo.net

적용 zmamavisdctl restart

참고 : http://wiki.zimbra.com/wiki/Improving_Anti-spam_system


관리자 패스워드 리셋 : http://wiki.zimbra.com/wiki/Admin_Password_Reset
su - zimbra
zmprov sp <admin email address> <new password>


관리자 전체 목록 보기
su - zimbra
zmprov gaaa

 

방화벽 관련 포트
http://coderoman.com/2010/04/firewall-iptables-rules-for-zimbra-in-centos/


POP3 : 110
POP3S : 995
IMAP : 143
IMAPS : 993
SMTP : 25
SMTPS : 465
SMTP submission : 587

 

 


Xen 커널과의 버그
http://www.zimbra.com/forums/installation/31164-zimbra-centos-5-3-x86-xen-4gb-seg-fixup-errorerrors-4.html

In summary, couple of solutions:
1 - switch to 64bit Xen (i.e. re-install 64 bit Centos, switch all your existing VMs to 64 bit...)
2 - migrate to a different solution (like Google Apps)
(I chose #2) Hope this helps!

 

 

 


그외


Tips Anti Spam Zimbra : Aktivasi Fasilitas Blacklist Spammer
http://vavai.com/2010/06/04/tips-anti-spam-zimbra-aktivasi-fasilitas-blacklist-spammer/


Script for Export-Import Zimbra Mail Server Account & Password
http://vavai.net/2010/08/script-for-export-import-zimbra-mail-server-account-password/


File Spreadsheet untuk Import Account Email ke Zimbra Mail Server
http://vavai.com/2010/11/16/file-spreadsheet-untuk-import-account-email-ke-zimbra/

Tips Improvement Performance Zimbra Mail Server
http://vavai.com/2010/10/14/tips-improvement-performance-kecepatan-zimbra-mail-server/


User Account Integration between Samba PDC & Zimbra Mail Server on openSUSE/SLES
http://vavai.net/2010/03/user-account-integration-between-samba-pdc-zimbra-mail-server-on-opensuse-sles/

User Account Integration between Samba PDC & Zimbra Mail Server on openSUSE/SLES Part 2 (Finish)
http://vavai.net/2010/03/user-account-integration-between-samba-pdc-zimbra-mail-server-on-opensusesles-part-2-finish/

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

zimbra 4번째  (0) 2014.09.18
openstack  (0) 2014.09.18
irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03

irc ddos

Posted by 주원이^^
2014. 1. 3. 17:19 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
작성자:미남닷컴
편집자:엔시스


IRCBOT의 DDOS 공격 모습입니다.

DDOS attack by IRCBOT




























































도스공격 명령어들과 패킷입니다.
DDOS operation and packet capture
만약 실제로 이런경우가 생긴다면
In real world
각 BOT들은 초당 8~10M의 트래픽을 보낼거라 추정됩니다.
Maybe each BOT will send to 8~10M traffic per second in Korea network infrastructure.
만약 봇이 10대라면 100M, 100대라면 1G의 트래픽을 보낼수 있습니다.
100 BOT may send 1G traffic.
특정서버에 특정네트워크에 수기가의 트래픽이 떨어지면 상당한 피해를 입을 수 있습니다.
This will effect on your network and server.


DDOS를 어떻게 막아야할까요?
How do we defend DDOS attack?

 

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

openstack  (0) 2014.09.18
zimbra 참고자료  (0) 2014.07.04
irc 서버구축  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03
hpacucli 리눅스  (0) 2013.12.31

irc 서버구축

Posted by 주원이^^
2014. 1. 3. 15:55 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

기존 IRC 서버들은 1Byte 만 지원해서 한글 닉네임 사용을 못합니다.

한글은 2Byte 로 사용하여야 하므로 아래 처럼 한글 닉네임 패치를 하였습니다.

필자는 FreeBSD 7.2-STABLE 서버에서 정상적으로 가동 되었습니다.

 

Yongbok.net 계정

Unreal3.2-Hangul-By.ruo91.tar.gz

티스토리 계정

Unreal3.2-Hangul-By.ruo91.tar.gz

설치 방법은 아래와 같음

[root@yongbok ~]# mkdir /usr/local/src

[root@yongbok ~]# cd /usr/local/src

[root@yongbok ~]# wget http://www.yongbok.net/irc/ircd/Unreal3.2-Hangul-By.ruo91.tar.gz

[root@yongbok ~]# tar xzvf Unreal3.2-Hangul-By.ruo91.tar.gz

[root@yongbok ~]# cd Unreal3.2

[root@yongbok ~]# ./Config

_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _ | | | | | / | | / _ |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|

Configuration Program
for Unreal3.2.8.1

This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process.
regarding the setup of it, during the process.

If you have problems regarding the setup & compile, read Unreal.nfo to get
more information on where to get help. Please, before running this setup,
read the documentation in the "doc" folder. Docs are also avail online @
http://www.unrealircd.com/unreal32docs.html

................................................

................................

......................

..........

Many older operating systems have an insecure TCP/IP stack
which may be vulnerable to IP spoofing attacks, if you run
an operating system that is vulnerable to such attacks
enable this option. This option can also be useful to prevent
blind proxies from connecting (eg: HTTP POST proxies).

Do you want to enable the server anti-spoof protection?
[No] ->

What directory are all the server configuration files in?
[/usr/local/src/Unreal3.2] ->

What is the path to the ircd binary including the name of the binary?
[/usr/local/src/Unreal3.2/src/ircd] ->

Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Hub] ->

What is the hostname of the server running your IRCd?
[yongbok.net] ->

What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->

Do you want to support SSL (Secure Sockets Layer) connections?
[No] ->

Do you want to enable IPv6 support?
[No] ->

Do you want to enable ziplinks support?
[No] ->

Do you want to enable remote includes?
[No] ->

Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,
PJIRC, irssi, CGI:IRC, etc.)
This feature should be enabled/disabled network-wide.
[Yes] ->

What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
[10] ->

How far back do you want to keep the nickname history?
[2000] ->

What is the maximum sendq length you wish to have?
[3000000] ->

How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
[18] ->
How many file descriptors (or sockets) can the IRCd use?
[1024] ->

Would you like any more parameters to configure?
Write them here:
[]->

[root@yongbok ~]# make

 

환경 설정 파일 사용자에 맞게 수정 (unrealircd.conf 직접 만들어 줘야함)

[root@yongbok ~]# vi unrealircd.conf

#################################################

# UnrealIRC conf

# admin : ruo91

# server : yongbok.net or irc2.yongbok.net

#################################################

# 필요한 모듈

loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

# 도움말, badworlds, 스패머 관련

#include "help.conf";
#include "badwords.channel.conf";
#include "badwords.message.conf";
#include "badwords.quit.conf";
#include "spamfilter.conf";

#

# 서버 설정

me {
name yongbok.net; # 서버이름
info "RabbitNet"; # 서버정보
numeric 0; # 서버를 식별하기 위한 숫자를 설정 (0~254까지)
};

#

# Client 클래스 설정
class clients # 서버에 접속하는 Client에 대한 설정
{
pingfreq 90;
maxclients 5000; # 최대 접속자수
sendq 100000;
};

# 서버 클래스 설정

class servers # 서버에 대한 설정
{
pingfreq 90;
maxclients 10;
sendq 1000000;
connfreq 100;
};

# 오퍼 클래스 설정

class oper { # Operators에 대한 설정
pingfreq 120;
maxclients 10;
sendq 1000000;
};

#

# IRC 서버에 접속 허용할 아이피 설정 부분

allow {
ip *; # 허용할 IP설정 ( * 을 넣으면 모두 허용 )
hostname *; # 허용할 Hostname
class clients; # Class Clients 설정 참조
maxperip 5; # 하나의 IP에서 최대 접속할수 있는 수
};

allow {
ip *; # 허용할 IP설정 ( * 을 넣으면 모두 허용 )
hostname *; # 허용할 Hostname
class oper; # Class oper 설정 참조
maxperip 5; # 하나의 IP에서 최대 접속할수 있는 수
};

#

# IRC 로그 설정
log "ircd.log" {

maxsize 2097152; # ircd.log 의 최대크기

flags { # 아래 각 flags들에 대해 ircd.log 생성
oper; # /oper 명령을 사용할때
kline;
connects; # 접속할때
server-connects; # 서버가 접속할때
kills; # 서버가 kill 할때
errors; # Error
};
};

#

# 관리자 정보

# IRC 에서 /admin 명령어를 치면 서버 관리자의 정보가 나옴

admin {
"Admin: ruo91";
"URL: http://www.yongbok.net";
"Email: ruo91@yongbok.net";
};

#

# 서버 다운과, 재시작

# 오퍼레이터가 /die die-yongbok 하면 서버 다운되고

# /restart restart-yongbok 하면 서버가 재시작 됨
drpass {
die "die-yongbok";
restart "restart-yongbok";
};

#

# 오퍼 설정

oper ruo91 {
class oper;

from {
userhost *@*; # 모든 호스트에서 접속시
};

password "yongbok-oper"; # 오퍼레이터 비밀번호 설정

flags
{
admin;
global;
can_rehash;
can_die;
can_restart;
helpop Oper;
can_wallops;
can_globops;
can_localroute;
can_globalroute;
can_localkill;
can_globalkill;
can_kline;
can_unkline;
can_gkline;
can_localnotice;
can_globalnotice;
can_zline;
can_gkline;
can_gzline;
get_umodew;
get_host;
can_override;
};
};

#

# IRC 서버 포트 (6660 ~ 6669 까지 열림)
listen *:6660;
listen *:6661;
listen *:6662;
listen *:6663;
listen *:6664;
listen *:6665;
listen *:6666;
listen *:6667;
listen *:6668;
listen *:6669;

#

# 가상 호스트 설정

# /vhost ruo91 vhost-yongbok 로 로그인 하면

# 해당 유저 주소는 *!*@yongbok.net 로 변경 됨

vhost {

vhost yongbok.net;

from {
userhost *@*;
};

login ruo91;
password vhost-yongbok;
};

# IRC 네트워크 설정 부분

set {
network-name "RabbitNet"; # 네트워크 이름
default-server "yongbok.net"; # 기본 서버
services-server "service.yongbok.net"; # 서비스 서버 지정
stats-server "Rabbit Net"; # Statu 에 Rabbit Net 보임
help-channel "#help"; # 도움말 채널
hiddenhost-prefix "TR"; # 호스트 숨김 지정
prefix-quit "Quit:"; # 종료 메세지 ruo91 (ruo91@admin.yongbok.net) 종료 (Quit: Quit)
auto-join "#토깽이"; # IRC 서버 접속시 해당 채널로 자동 조인
kline-address "ruo91@192.168.0.100"; # 설정한 호스트로접속은 무조건 IRC 서버에서 접근 금지 시킴 (KILL)
maxchannelsperuser 20; # 사용자가 최대 채널 20개 입장 가능
modes-on-connect "+i"; # IRC 서버 접속시 +i 모드로 변경
modes-on-oper "+xwgs"; # 오퍼레이터 접속 또는 로그인시 +xwgs 모드로 변경

cloak-keys {
a2JO6fh3Q6w4oN3s7;

h47A78thfhHH47;

K547sghuio784S;
# 서로 다른 3개의 Cloak-key 입력
};

# 호스트 설정

hosts {
local "local.yongbok.net"; # 로컬 어드민 접속시 보여줄 호스트 이름
global "gobal.yongbok.net"; # Global 오퍼레이터 접속 또는 로그인시 보여줄 호스트 이름
coadmin "coadmin.yongbok.net"; # Co 관리자 접속 또는 로그인시 보여줄 호스트 이름
admin "yongbok.net"; # 일반 관리자 호스트 이름
servicesadmin "service.yongbok.net"; # 서비스 관리자 호스트 이름
netadmin "net.yongbok.net"; # 네트워크 관리자 호스트 이름
host-on-oper-up yes; # IRC 채널에 접속시 자동 옵 받음 (아무도 없을때)
};

# DNS 서버 설정

dns {
nameserver 127.0.0.1; # 네임 설정 (자체 DNS 서버 있으면 localhost 로 지정하고 없다면 ISP DNS 사용)
timeout 2s; # 2초 안에 서버가 응답을 안하면 timeout
retries 2s; # 2초 후에 재 연결
};
};
#################################
# Service Bot
#################################
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };

#################################
# 서버 연동
#################################

# irc2.yongbok.net 서버로 연동

# irc2 서버에는 link 가 yongbok.net 로 설정됨

#################################
link irc2.yongbok.net
{
username *;
hostname 116.41.167.17; # 연동될 서버 아이피
bind-ip *;
port 6664; # 6664 포트 번호로 연동
hub *.yongbok.net;
password-connect "link-yongbok"; # link-yongbok 비밀번호로 연결
password-receive "link-yongbok";
class servers;
options {
/* Note: You should not use autoconnect when linking services */
autoconnect; # 자동 연결
#ssl;
#zip;
};
};

 

IRC 서버 시작

[root@yongbok ~]# /usr/local/src/Unreal3.2/src/ircd

_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
v3.2.8.1
using TRE 0.7.5 (LGPL)

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Loading tunefile..
* Dynamic configuration initialized .. booting IRCd.
---------------------------------------------------------------------

 

IRC 서버 접속 화면

 

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

zimbra 참고자료  (0) 2014.07.04
irc ddos  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03
hpacucli 리눅스  (0) 2013.12.31
phpmyadmin  (204) 2012.08.16

irc 서비스봇

Posted by 주원이^^
2014. 1. 3. 15:55 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

UnrealIRCD IRC 한글 패치 이후에 서비스 봇들좀 삽질 해봤음..설치는 쉬웟으나 설정이 까다로워 삽질..엄청함..
ChanServ, NickServ, OperServ, MemoServ 등등... 한꺼번에 서비스 할수 있다.
http://distfiles.atheme.org/ 요기서 구할수 있고 IRC 데몬들 별로 프로토콜을 지정 할수 있어 좋다.

설치
[root@yongbok ~]# wget http://distfiles.atheme.org/atheme-services-3.1.2.tgz
[root@yongbok ~]# tar xzvf atheme-services-3.1.2.tgz ; atheme-services-3.1.2
[root@yongbok ~]# ./setup
_ _ _
/ \ | |_| |__ ___ _ __ ___ ___
/ _ \| __| '_ \ / _ \ '_ ` _ \ / _ \
/ ___ \ |_| | | | __/ | | | | | __/
/_/ \_\__|_| |_|\___|_| |_| |_|\___|

version 3.1.2

Where do you want Atheme to be installed?
Press enter for the default, or type a new destination.
[/root/atheme]
........
setup 스크립트로 설치를 진행하면 자동으로 configure 를 수행 해주며 컴파일과 설치 까지 쉽게 할수 있다.
설치가 완료 되면 /root/atheme/etc 디렉토리에 atheme.conf 를 생성해서 설정 해줘야 한다.
실제로 디렉토리에 들어가보면 example 설정 파일들이 있는데 이것들을 복사해서 사용해도 된다.

[root@yongbok ~]# cd /root/atheme/etc
[root@yongbok ~/atheme/etc]# ls -al
total 124
drwxr-xr-x 2 root wheel 512 9 14 08:31 .
drwxr-xr-x 10 root wheel 512 9 13 15:50 ..
-rw-r----- 1 root wheel 38417 9 13 15:23 atheme.conf.example
-rw-r----- 1 root wheel 38502 9 13 15:23 atheme.conf.userserv-example
-rw-r----- 1 root wheel 424 9 13 15:23 atheme.cron.example
-rw-r----- 1 root wheel 254 9 13 16:45 atheme.motd-example
[root@yongbok ~/atheme/etc]# cp atheme.conf.example atheme.conf

필자가 사용하고 있는 atheme.conf 설정 파일이며 서비스 봇은 ChanServ, NickServ, OperServ 만 사용하도록 했다.
( 설정 파일 내용이 길어서 보기가 불편 할듯 싶다.. )
[root@yongbok ~/atheme/etc]# vi atheme.conf
/* This is an example configuration for Services.
*
* All statements end in semi-colons (';').
* Shell style, C style, and C++ style comments may be used.
*
* Items marked with "(*)" are reconfigurable at runtime via REHASH.
*/

/******************************************************************************
* MODULES SECTION. *
******************************************************************************/

/*
* These are the modules included with the core distribution of Services 3.
*
* You may be interested in the atheme community modules distribution as
* well, which adds additional features that may or may not be compatible
* with the project paradigms intended for maintainance of the core of
* atheme-services.
*
* Visit the atheme-services website for more information and to download them.
*
* Modules marked [experimental] will taint your atheme-services instance. Do
* not file any bug reports with us about using Services with those modules;
* they will be ignored.
*/

/* Protocol module.
*
* Please select a protocol module. Different servers use different protocols.
* Below is a listing of ircd's known to work with the various protocol modules
* available.
*
* Asuka 1.2.1 or later modules/protocol/asuka
* Bahamut 1.8.x modules/protocol/bahamut
* Beware IRCd (bircd) modules/protocol/bircd
* Charybdis IRCd modules/protocol/charybdis
* dancer-ircd/hyperion modules/protocol/hyperion
* DreamForge 4.6.7 or later modules/protocol/dreamforge
* Hybrid 7.1.2 and later modules/protocol/hybrid
* ircd-ratbox 2.0 and later modules/protocol/ratbox
* IRCNet ircd (ircd 2.11) modules/protocol/ircnet
* ircu 2.10.11.07 or later modules/protocol/undernet
* IRCXPRO 1.2/OfficeIRC modules/protocol/officeirc
* InspIRCd 1.1b1 or later modules/protocol/inspircd11
* InspIRCd 1.2 modules/protocol/inspircd12
* Nefarious IRCu 0.4.0 or later modules/protocol/nefarious
* PleXusIRCd 3.x modules/protocol/plexus
* PTlink IRCd modules/protocol/ptlink
* ShadowIRCd 5.x modules/protocol/shadowircd5
* ShadowIRCd 3.3/3.6 family modules/protocol/shadowircd
* sorircd 1.3.1 or later modules/protocol/sorcery
* UltimateIRCd 3.0 or later modules/protocol/ultimate3
* UnrealIRCd 3.1/3.2 modules/protocol/unreal
*
* If your IRCd vendor has supplied a module file, build it and load it here
* instead of one above.
*/
loadmodule "modules/protocol/unreal";

/* Database backend module.
*
* Please select a database backend module. Different backends allow for
* different ways in which the services data can be manipulated. YOU MAY
* ONLY HAVE ONE OF THESE BACKENDS LOADED.
*
* The following backends are available:
*
* Atheme 0.1 flatfile database format modules/backend/flatfile
*
* Most networks will want flatfile. The PostgreSQL backend requires
* PostgreSQL to be installed on the machine.
*
* As of Atheme 2.2, the PostgreSQL backend is no longer supported.
*/
loadmodule "modules/backend/flatfile";

/* Crypto module.
*
* If you would like encryption for your services passwords, please
* select a module here. Note that upon starting with a crypto module
* YOUR PASSWORDS ARE IMMEDIATELY AND IRREVERSIBLY CONVERTED. Make at
* least TWO backups of your database before experimenting with this.
* If you have several thousand accounts, this conversion may take
* appreciable time.
*
* The following crypto modules are available:
*
* POSIX-style crypt(3) modules/crypto/posix
* IRCServices (also Anope etc) compatibility modules/crypto/ircservices
* SorceryNet services compatibility modules/crypto/sorservices
*
* The ircservices and sorservices modules are only recommended for use with
* a database converted from other services with password encryption.
*/
#loadmodule "modules/crypto/posix";

/* NickServ modules.
*
* Here you can disable or enable certain features of NickServ, by
* defining which modules are loaded. You can even disable NickServ
* entirely. Please note however, that an authentication service
* (either NickServ, or UserServ) are required for proper functionality.
*
* Core components modules/nickserv/main
* Nickname access lists modules/nickserv/access
* DROP command modules/nickserv/drop
* GHOST command modules/nickserv/ghost
* GROUP and UNGROUP commands modules/nickserv/group
* HELP command modules/nickserv/help
* Nickname expiry override (HOLD command) modules/nickserv/hold
* IDENTIFY command modules/nickserv/identify
* INFO command modules/nickserv/info
* LIST command modules/nickserv/list
* LISTMAIL command modules/nickserv/listmail
* LOGIN command (for no_nick_ownership) modules/nickserv/login
* LOGOUT command modules/nickserv/logout
* MARK command modules/nickserv/mark
* FREEZE command modules/nickserv/freeze
* LISTCHANS command modules/nickserv/listchans
* REGISTER command modules/nickserv/register
* Password reset (RESETPASS command) modules/nickserv/resetpass
* Password return (RETURN command) modules/nickserv/return
* Password retrieval (SENDPASS command) modules/nickserv/sendpass
* SET command modules/nickserv/set
* Change primary nickname (SET ACCOUNTNAME) modules/nickserv/set_accountname
* PRIVMSG instead of NOTICE (SET PRIVMSG cmd) modules/nickserv/set_privmsg
* Account info hiding (SET PRIVATE command) modules/nickserv/set_private
* Password retrieval uses code (SETPASS cmd) modules/nickserv/setpass
* Presence notifications (EXPERIMENTAL) modules/nickserv/subscribe
* Nickname enforcement modules/nickserv/enforce
* STATUS command modules/nickserv/status
* Nickname metadata viewer (TAXONOMY command) modules/nickserv/taxonomy
* VERIFY command modules/nickserv/verify
* VHOST command modules/nickserv/vhost
*/
loadmodule "modules/nickserv/main";
#loadmodule "modules/nickserv/access";
loadmodule "modules/nickserv/drop";
loadmodule "modules/nickserv/ghost";
loadmodule "modules/nickserv/group";
loadmodule "modules/nickserv/help";
loadmodule "modules/nickserv/hold";
loadmodule "modules/nickserv/identify";
loadmodule "modules/nickserv/info";
loadmodule "modules/nickserv/list";
loadmodule "modules/nickserv/listmail";
loadmodule "modules/nickserv/login";
loadmodule "modules/nickserv/logout";
loadmodule "modules/nickserv/mark";
loadmodule "modules/nickserv/freeze";
loadmodule "modules/nickserv/listchans";
loadmodule "modules/nickserv/register";
loadmodule "modules/nickserv/resetpass";
loadmodule "modules/nickserv/return";
loadmodule "modules/nickserv/sendpass";
loadmodule "modules/nickserv/set";
loadmodule "modules/nickserv/set_accountname";
#loadmodule "modules/nickserv/set_privmsg";
#loadmodule "modules/nickserv/set_private";
loadmodule "modules/nickserv/setpass";
#loadmodule "modules/nickserv/subscribe";
#loadmodule "modules/nickserv/enforce";
loadmodule "modules/nickserv/status";
loadmodule "modules/nickserv/taxonomy";
loadmodule "modules/nickserv/verify";
loadmodule "modules/nickserv/vhost";

/* ChanServ modules.
*
* Here you can disable or enable certain features of ChanServ, by
* defining which modules are loaded. You can even disable ChanServ
* entirely. Please note that ChanServ requires an authentication
* service, either NickServ or UserServ will do.
*
* Core components modules/chanserv/main
* AKICK command modules/chanserv/akick
* BAN/UNBAN commands modules/chanserv/ban
* UNBAN self only (load ban or this not both) modules/chanserv/unban_self
* CLOSE command modules/chanserv/close
* CLEAR command modules/chanserv/clear
* CLEAR BANS command modules/chanserv/clear_bans
* CLEAR USERS command modules/chanserv/clear_users
* COUNT command modules/chanserv/count
* DROP command modules/chanserv/drop
* Forced flags changes modules/chanserv/fflags
* FLAGS command modules/chanserv/flags
* Forced foundership transfers modules/chanserv/ftransfer
* GETKEY command modules/chanserv/getkey
* HALFOP/DEHALFOP commands modules/chanserv/halfop
* HELP command modules/chanserv/help
* Channel expiry override (HOLD command) modules/chanserv/hold
* INFO command modules/chanserv/info
* INVITE command modules/chanserv/invite
* KICK/KICKBAN commands modules/chanserv/kick
* LIST command modules/chanserv/list
* MARK command modules/chanserv/mark
* OP/DEOP commands modules/chanserv/op
* OWNER/DEOWNER commands modules/chanserv/owner
* PROTECT/DEPROTECT commands modules/chanserv/protect
* QUIET command (+q support) modules/chanserv/quiet
* Channel takeover recovery (RECOVER command) modules/chanserv/recover
* REGISTER command modules/chanserv/register
* SET command modules/chanserv/set
* Channel info hiding (SET PRIVATE command) modules/chanserv/set_private
* STATUS command modules/chanserv/status
* Channel metadata viewer (TAXONOMY command) modules/chanserv/taxonomy
* TEMPLATE command modules/chanserv/template
* TOPIC/TOPICAPPEND commands modules/chanserv/topic
* VOICE/DEVOICE commands modules/chanserv/voice
* WHY command modules/chanserv/why
* VOP/HOP/AOP/SOP commands modules/chanserv/xop
* This module provides emulation of the ircservices XOP scheme ONLY.
* Do not report discrepencies when using native commands to edit channel
* ACLs. This is intentional.
*/
loadmodule "modules/chanserv/main";
loadmodule "modules/chanserv/akick";
loadmodule "modules/chanserv/ban";
#loadmodule "modules/chanserv/unban_self";
loadmodule "modules/chanserv/close";
loadmodule "modules/chanserv/clear";
loadmodule "modules/chanserv/clear_bans";
loadmodule "modules/chanserv/clear_users";
loadmodule "modules/chanserv/count";
loadmodule "modules/chanserv/drop";
#loadmodule "modules/chanserv/fflags";
loadmodule "modules/chanserv/flags";
loadmodule "modules/chanserv/ftransfer";
loadmodule "modules/chanserv/getkey";
#loadmodule "modules/chanserv/halfop";
loadmodule "modules/chanserv/help";
loadmodule "modules/chanserv/hold";
loadmodule "modules/chanserv/info";
loadmodule "modules/chanserv/invite";
loadmodule "modules/chanserv/kick";
loadmodule "modules/chanserv/list";
loadmodule "modules/chanserv/mark";
loadmodule "modules/chanserv/op";
#loadmodule "modules/chanserv/quiet";
loadmodule "modules/chanserv/recover";
loadmodule "modules/chanserv/register";
loadmodule "modules/chanserv/set";
#loadmodule "modules/chanserv/set_private";
loadmodule "modules/chanserv/status";
loadmodule "modules/chanserv/taxonomy";
loadmodule "modules/chanserv/template";
loadmodule "modules/chanserv/topic";
loadmodule "modules/chanserv/voice";
loadmodule "modules/chanserv/why";
#loadmodule "modules/chanserv/xop";

/* OperServ modules.
*
* Here you can disable or enable certain features of OperServ, by
* defining which modules are loaded.
*
* Core components modules/operserv/main
* AKILL system modules/operserv/akill
* CLEARCHAN command modules/operserv/clearchan
* CLONES system modules/operserv/clones
* COMPARE command modules/operserv/compare
* HELP command modules/operserv/help
* IGNORE system modules/operserv/ignore
* IDENTIFY command modules/operserv/identify
* INJECT command modules/operserv/inject
* JUPE command modules/operserv/jupe
* MODE command modules/operserv/mode
* MODINSPECT command modules/operserv/modinspect
* MODLIST command modules/operserv/modlist
* MODLOAD command modules/operserv/modload
* MODRESTART command modules/operserv/modrestart
* MODUNLOAD command modules/operserv/modunload
* NOOP system modules/operserv/noop
* Regex mass akill (RAKILL command) modules/operserv/rakill
* RAW command modules/operserv/raw
* REHASH command modules/operserv/rehash
* RESTART command modules/operserv/restart
* Display regex matching (RMATCH command) modules/operserv/rmatch
* Most common realnames (RNC command) modules/operserv/rnc
* RWATCH system modules/operserv/rwatch
* SHUTDOWN command modules/operserv/shutdown
* Non-config oper privileges (SOPER command) modules/operserv/soper
* Oper privilege display (SPECS command) modules/operserv/specs
* UPDATE command modules/operserv/update
* UPTIME command modules/operserv/uptime
*/

loadmodule "modules/operserv/main";
loadmodule "modules/operserv/akill";
#loadmodule "modules/operserv/clearchan";
#loadmodule "modules/operserv/clones";
loadmodule "modules/operserv/compare";
loadmodule "modules/operserv/help";
loadmodule "modules/operserv/identify";
loadmodule "modules/operserv/ignore";
loadmodule "modules/operserv/jupe";
loadmodule "modules/operserv/mode";
loadmodule "modules/operserv/modinspect";
loadmodule "modules/operserv/modlist";
loadmodule "modules/operserv/modload";
loadmodule "modules/operserv/modrestart";
loadmodule "modules/operserv/modunload";
loadmodule "modules/operserv/noop";
#loadmodule "modules/operserv/rakill";
loadmodule "modules/operserv/rehash";
loadmodule "modules/operserv/restart";
loadmodule "modules/operserv/rmatch";
loadmodule "modules/operserv/rnc";
loadmodule "modules/operserv/rwatch";
loadmodule "modules/operserv/shutdown";
#loadmodule "modules/operserv/soper";
loadmodule "modules/operserv/specs";
loadmodule "modules/operserv/update";
loadmodule "modules/operserv/uptime";

/* MemoServ modules.
*
* Here you can disable or enable certain features of MemoServ, by
* defining which modules are loaded. You can even disable MemoServ
* entirely.
*
* Core components modules/memoserv/main
* HELP command modules/memoserv/help
* SEND command modules/memoserv/send
* Channel memos (SENDOPS command) modules/memoserv/sendops
* LIST command modules/memoserv/list
* READ command modules/memoserv/read
* FORWARD command modules/memoserv/forward
* DELETE command modules/memoserv/delete
* IGNORE command modules/memoserv/ignore
*/
/*
loadmodule "modules/memoserv/main";
loadmodule "modules/memoserv/help";
loadmodule "modules/memoserv/send";
loadmodule "modules/memoserv/sendops";
loadmodule "modules/memoserv/list";
loadmodule "modules/memoserv/read";
loadmodule "modules/memoserv/forward";
loadmodule "modules/memoserv/delete";
loadmodule "modules/memoserv/ignore";
*/
/* Global module.
*
* Like the other services, the Global noticer is a module. You can
* disable or enable it to your liking below. Please note that the
* Global noticer is dependent on OperServ for full functionality.
*/
/*
loadmodule "modules/global/main";
*/
/* SASL agent module.
*
* Allows clients to authenticate to services via SASL with an appropriate
* ircd. You need the core components and at least one mechanism.
*
* Core components modules/saslserv/main
* PLAIN mechanism modules/saslserv/plain
* DH-BLOWFISH mechanism modules/saslserv/dh-blowfish
*/
#loadmodule "modules/saslserv/main";
#loadmodule "modules/saslserv/plain";
#loadmodule "modules/saslserv/dh-blowfish"; /* requires SSL */
/*
/* GameServ modules.
*
* Here you can disable or enable certain features of GameServ, by
* defining which modules are loaded. You can even disable GameServ
* entirely.
*
* Core components modules/gameserv/main
* DICE/WOD commands modules/gameserv/dice
* HELP commands modules/gameserv/help
* NAMEGEN command modules/gameserv/namegen
*/
#loadmodule "modules/gameserv/main";
#loadmodule "modules/gameserv/dice";
#loadmodule "modules/gameserv/help";
#loadmodule "modules/gameserv/namegen";
*/
/*
* Various modules.
*
* Atheme includes an optional HTTP server that can be used for integration
* with portal software and other useful things. To enable it, load this
* module, and uncomment the httpd { } block towards the bottom of the config.
*
* HTTP Server modules/misc/httpd
*/
/*
loadmodule "modules/misc/httpd";
*/
/*
/* XMLRPC server module.
*
* The XML-RPC handler requires modules/misc/httpd to be loaded as it merely
* registers a path handler for XML-RPC. The path used for XML-RPC is /xmlrpc.
*
* XMLRPC handler for the httpd modules/xmlrpc/main
* Legacy account management modules/xmlrpc/account
* Legacy channel management modules/xmlrpc/channel
* Legacy memo management modules/xmlrpc/memo
*/
/*
loadmodule "modules/xmlrpc/main";
#loadmodule "modules/xmlrpc/account";
#loadmodule "modules/xmlrpc/channel";
#loadmodule "modules/xmlrpc/memo";
*/
/* Other modules.
*
* Put any other modules you want to load on startup here. The path
* is relative to PREFIX or PREFIX/lib/atheme, depending on how Atheme
* was compiled.
* Note: modules directly under modules/ are loaded automatically even
* if not listed here.
*/
#loadmodule "contrib/fc_dice";

/******************************************************************************
* SERVICES RUNTIME CONFIGURATION SECTION. *
******************************************************************************/

/* The serverinfo{} block defines how we appear on the IRC network. */
serverinfo {

name = "services.yongbok.net";


desc = "Rabbit IRC Network Services";


numeric = "00A";


recontime = 10;


netname = "RabbitNet Network";


hidehostsuffix = "users.yongbok.net";


adminname = "yongbok.net admin";


adminemail = "ruo91@yongbok.net";


mta = "/usr/sbin/sendmail";


loglevel = { error; info; admin; network; wallops; };

/* (*)maxlogins
* What is the maximum number of sessions allowed to login to one
* username? This reduces potential abuse. It is only checked on login.
*/
maxlogins = 5;

/* (*)maxusers
* What are the maximum usernames that one email address can register?
* Set to 0 to disable this check (it can be slow currently).
*/
maxusers = 0;

/* (*)maxnicks
* If GROUP is loaded, what are the maximum nicknames that one
* username can register?
*/
maxnicks = 5;

/* (*)maxchans
* What are the maximum channels that one username can register?
*/
maxchans = 5;

/* (*)mdlimit
* How many metadata entries can be added to an object?
*/
mdlimit = 30;

/* (*)emaillimit, emailtime
* The maximum number of emails allowed to be sent in
* that amount of time (seconds). If this is exceeded,
* wallops will be sent, at most one per minute.
*/
emaillimit = 10;
emailtime = 300;

/* (*)auth
* What type of username registration authorization do you want?
* If "email", Atheme will send a confirmation email to the address to
* ensure it's valid. If registration is not completed within one day,
* the username will expire. If "none", no message will be sent and
* the username will be fully registered.
* Valid values are: email, none.
*/
auth = none;

/* casemapping
* Specify the casemapping to use. Almost all TSora (and any that follow
* the RFC correctly) ircds will use rfc1459 casemapping. Bahamut, Unreal,
* and other ``Dalnet'' ircds will use ascii casemapping.
* Valid values are: rfc1459, ascii.
*/
casemapping = rfc1459;
};

/* uplink{} blocks define connections to IRC servers.
* Multiple may be defined but only one will be used at a time (IRC
* being a tree shaped network).
*/
uplink "irc.yongbok.net" {
// the server name goes above

// host
// The hostname to connect to.
host = "116.41.167.110";

// vhost
// The source IP to connect from, used on machines with multiple interfaces.
#vhost = "202.119.187.31";

// password
// The password used for linking.
password = "link-yongbok";

// port
// The port used for linking.
port = 6664;
};

/* NickServ configuration.
*
* The nickserv {} block contains settings specific to the NickServ modules.
*
* NickServ provides nickname or username registration and authentication
* services. It provides necessary authentication features required for
* Services to operate correctly. You should make sure these settings
* are properly configured for your network.
*/
nickserv {
// If you want NickServ to tell people about how great it is, enable the directive
// below.
spam;


#no_nick_ownership;


nick = "NickServ";


user = "NickServ";


host = "Yongbok.Net";


real = "닉네임 서비스";


expire = 30;


#enforce_expire = 14;


#enforce_delay = 30;
};

/* ChanServ configuration.
*
* The chanserv {} block contains settings specific to the ChanServ modules.
*
* ChanServ provides channel registration services, which allows users to own
* channels. It is not required, but is strongly recommended.
*/
chanserv {

nick = "ChanServ";


user = "ChanServ";


host = "Yongbok.Net";


real = "채널 서비스";


fantasy;




#deftemplates = "MEMBER=+iA OP=+voOtriA";


#changets;


trigger = "!";


expire = 30;


maxchanacs = 0;


maxfounders = 4;
};

/* Global noticing configuration.
*
* The global {} block contains settings specific to the Global notice modules.
*
* The Global notice modules provide the ability to mass-notify a network.
*/
/*
global {

nick = "Global";


user = "Global";


host = "services.int";


real = "Network Announcements";
};
*/
/* OperServ configuration.
*
* The operserv {} block contains settings specific to the OperServ modules.
*
* OperServ provides essential network management tools for IRC operators
* on the IRC network.
*/

operserv {

nick = "OperServ";


user = "OperServ";


host = "Yongbok.Net";


real = "오퍼레이터 서비스";
};

/* SaslServ configuration.
*
* The saslserv {} block contains settings specific to the SaslServ modules.
*
* SaslServ provides an authentication agent which is compatible with the
* SASL over IRC (SASL/IRC) protocol extension.
*/
saslserv {

nick = "SaslServ";


user = "SaslServ";


host = "services.int";


real = "SASL Authentication Agent";
};

/* MemoServ configuration.
*
* The memoserv {} block contains settings specific to the MemoServ modules.
*
* MemoServ provides a note-taking service that you can use to send notes
* to offline users (provided they are registered with Services).
*/
/*
memoserv {

nick = "MemoServ";


user = "MemoServ";


host = "services.int";


real = "Memo Services";
};
*/
/* GameServ configuration.
*
* The gameserv {} block contains settings specific to the GameServ modules.
*
* GameServ provides various in-channel commands for games.
*/
/*
gameserv {

nick = "GameServ";


user = "GameServ";


host = "services.int";


real = "Game Services";
};
*/
/* HTTP server configuration.
*
* The httpd {} block contains settings specific to the HTTP server module.
*
* The HTTP server in Services is used for serving XMLRPC requests. It can
* also serve static documents and statistics pages.
*/
/*
httpd {

host = "0.0.0.0";


www_root = "/var/www";


port = 8087;
};
*/
/******************************************************************************
* LOGGING SECTION. *
******************************************************************************/

/*
* logfile{} blocks can be used to set up log files other than the master
* logfile used by services, which is controlled by serverinfo::loglevel.
*
* The various logging categories are:
* debug, all - meta-keyword for all possible categories
* trace - meta-keyword for a little bit of info
* misc - like trace, but with some more miscillaneous info
* notice - meta-keyword for notice-like information
* ------------------------------------------------------------------------------
* error - critical errors
* info - miscillaneous log notices
* commands - all command use
* admin - administrative command use
* register - account and channel registrations
* set - changes of account or channel settings
* network - log notices related to network status
* rawdata - log raw data sent and received by services
* wallops - <not yet used>
*/

/*
* This block logs all account and channel registrations and drops,
* and account and channel setting changes to var/account.log.
*/
logfile "var/account.log" { register; set; };

/*
* This block logs all command use to var/commands.log.
*/
logfile "var/commands.log" { commands; };

/******************************************************************************
* GENERAL PARAMETERS CONFIGURATION SECTION. *
******************************************************************************/

/* The general {} block defines general configuration options. */
general {

chan = "#ruo91";


#silent;


verbose_wallops;


j-in_chans;


leave_chans;


#secure;


uflags = { hidemail; };

/* (*)cflags
* The default flags to set for channels upon registration.
* Valid values are: hold, secure, verbose, verbose_ops, keeptopic,
* topiclock, guard and none.
*/
cflags = { verbose; guard; };

/* (*)raw
* Do you want to allow SRAs to use the RAW and INJECT commands?
* These commands are for debugging. If you don't know how to use them
* then don't enable them. They are not supported.
*/
#raw;

/* (*)flood_msgs
* Do you want services to detect floods?
* Set to how many messages before a flood is triggered.
* If services receives `flood_msgs' within `flood_time' the user will
* trigger the flood protection.
* Setting this to zero disables flood protection.
*/
flood_msgs = 7;

/* (*)flood_time
* Do you want services to detect floods?
* Set to how long before the counter resets.
* If services receives `flood_msgs' within `flood_time' the user will
* trigger the flood protection.
*/
flood_time = 10;

/* (*)kline_time
* The default expire time for KLINE's in days.
* Setting this to 0 makes all KLINE's permanent.
*/
kline_time = 7;

/* commit_interval
* The time between database writes in minutes.
*/
commit_interval = 5;

/* (*)default_clone_limit
* The default clone limit used by operserv/clones.
*/
default_clone_limit = 5;
};

/******************************************************************************
* OPERATOR AND PRIVILEGES CONFIGURATION SECTION. *
******************************************************************************/

/* Operator configuration
* See the PRIVILEGES document for more information.
* NOTE: All changes apply immediately upon rehash. You may need
* to send a signal (killall -HUP atheme-services) to regain control.
*/
/* (*) Operclasses specify groups of services operator privileges */
operclass "sra" {

privs = {
special:ircop;
};

privs = {
user:auspex;
user:admin;
user:sendpass;
user:vhost;
user:mark;
user:hold;
user:regnolimit;
};

privs = {
chan:auspex;
chan:admin;
chan:cmodes;
chan:joinstaffonly;
};

privs = {
general:auspex;
general:viewprivs;
general:flood;
general:metadata;
general:admin;
};

privs = {
operserv:omode;
operserv:akill;
#operserv:massakill;
#operserv:akill-anymask;
operserv:jupe;
operserv:noop;
operserv:global;
operserv:grant;
};

/* needoper
* Only grant privileges to IRC users in this oper class if they
* are opered; other use of privilege (channel succession, XMLRPC,
* etc.) is unaffected by this.
*/
needoper;
};

/* The "ircop" operclass specifies privileges all IRCops get.
* This may be empty in which case IRCops get no privs.
* At least chan:cmodes, chan:joinstaffonly and general:auspex are suggested.
*/
operclass "ircop" {
privs = {
special:ircop;
};

privs = {
user:auspex;
user:admin;
user:sendpass;
user:vhost;
user:mark;
};

privs = {
chan:auspex;
chan:admin;
chan:cmodes;
chan:joinstaffonly;
};

privs = {
general:auspex;
general:viewprivs;
general:flood;
};

privs = {
operserv:omode;
operserv:akill;
operserv:jupe;
operserv:global;
};
};

/* (*) Operator blocks specify accounts with certain privileges
* Oper classes must be defined before they are used in operator blocks.
*/
operator "jilles" {

operclass = "sra";

#password = "$1$3gJMO9by$0G60YE6GqmuHVH3AnFPor1";
};

/******************************************************************************
* INCLUDE CONFIGURATION SECTION. *
******************************************************************************/

/* You may also specify other files for inclusion.
* For example:
*
* include "etc/sras.conf";
*/

설정이 완료 되면 atheme.db 파일을 하나 만들어 주자.
[root@yongbok ~/atheme/etc]# touch atheme.db

이제 IRC 서버의 설정 파일 중 Link 즉, 서비스 봇과 서버를 연동 할 설정을 해줘야 한다.
설정 파일이 많으니 연동 부분만 따로 추가 해주겠다.
[root@yongbok ~]# cd /root/irc/Unreal3.2
[root@yongbok ~/irc/Unreal3.2]# vi unrealircd.conf
#################################
# 서버 연동
#################################
link services.yongbok.net
{
username *;
hostname 116.41.167.110; # 연동될 서버 아이피
bind-ip *;
port 6664; # 6664 포트 번호로 연동
hub *.yongbok.net;
password-connect "link-yongbok"; # link-yongbok 비밀번호로 연결
password-receive "link-yongbok";
class oper;
options {

autoconnect; # 자동 연결
};
};
ulines {
services.yongbok.net;
stats.yongbok.net;
};

적용이 완료 되면 iRC 서버를 재시작 해주고 서비스 봇을 시작 해주면 정상적으로 연동 된걸 볼수 있다.
IRC 서버 죽이고 재시작
[root@yongbok ~]# killall ircd
[root@yongbok ~]# /root/irc/Unreal3.2/src/ircd
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
v3.2.8.1
using TRE 0.7.5 (LGPL)

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Loading tunefile..
* Dynamic configuration initialized .. booting IRCd.
---------------------------------------------------------------------
서비스봇 시작
[root@yongbok ~]# /root/atheme/bin/atheme-services
atheme: pid 1444
atheme: running in background mode from /root/atheme

아래는 IRC 서버와 서비스 봇이 서로 연동이 된 상태이다.

 

챈섭 도움말 함 쳐봤다.

/msg ChanServ HELP

 

다음엔 빵글이 도전해봐야 겟음..

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03
hpacucli 리눅스  (0) 2013.12.31
phpmyadmin  (204) 2012.08.16
IP터널링 IP-IP TUNNELING  (0) 2012.04.10

hpacucli 리눅스

Posted by 주원이^^
2013. 12. 31. 17:21 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

리눅스에서 hp레이드컨트롤러 명령

프로그램실행 hpacucli
실행 -> /opt/compaq/hpacucli/bld/hpacucli
종료 -> quit

controller all show

ctrl all show

ctrl all show status


ctrl slot=0 show

ctrl slot=0 show detail (컨트롤러 정보 자세히)

ctrl slot=0 show config (raid정보/디스크정보 간략히 자주사용)

ctrl slot=0 show config detail (컨트롤러/디스크/논리파티션 정보)

ctrl slot=0 physicaldrive all show status (물리디스크정보)

ctrl slot=0 pd all show status (물리디스크정보)

ctrl slot=0 logicaldrive all show status (로지컬 정보 및 raid level정보)

ctrl slot=0 ld all show status (로지컬 정보 및 raid level정보)

 

http://downloads.linux.hp.com/SDR/downloads/proliantsupportpack/

 

http://downloads.linux.hp.com/SDR/downloads/proliantsupportpack/CentOS/5Server/packages/x86_64/hpacucli-8.70-8.0.noarch.rpm

 

2012.08.09

HP 장비의 CLI를 확인시 사용하는 hpaucli 툴을 Centos 6.2 버젼부터는 설치시 libstdc++ 의 의존을 하게 된다 .

해당장비라이브러리가 미설치되어 hpaucli 만 시도하면 의존성 에러가 발생하게 된다.

OS 버젼이 x64일경우는 아래와같이 i686으로 32bit도 구동되게 바꾸어 yum install를 시도하여야한다.

 

yum install -y libstdc*.i686

rpm -ivh hpacucli.rpm

 

------------------------------------------

vi /etc/crontab

 

02 5 * * * root /opt/sys/diskcheck/hpacucli.sh

 

hpacucli.sh.txt

 

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03
phpmyadmin  (204) 2012.08.16
IP터널링 IP-IP TUNNELING  (0) 2012.04.10

phpmyadmin

Posted by 주원이^^
2012. 8. 16. 10:28 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

설치방법

phpmyadmin.net 에서 최신버전 설치

or

yum -y install phpmyadmin

(yum 은 php 버전에 따라 알아서 설치해준다. 5.1 5.2 버전은 틀리다 )

 

#/etc/httpd/conf.d/phpmyadmin.conf

#/usr/share/phpmyadmin 

두곳 설치 설정은 conf로

 

 

------------보안관련-------------

vi /usr/share/phpmyadmin/config.inc.php

 

17번째 시크릿 에 문자삽입

$cfg['blowfish_secret'] = 't}T*_xZaN8z}5S*UTd}7UPByGu]}=1UT8|gv##zj=vNy|6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

29번째 변경

 $cfg['Servers'][$i]['auth_type'] = 'http';

기본은 cookie 로 되어있지만 http 로 변경.

 

#phpmyadmin 페이지 외부접근 거부
<Directory "phpmyadmin이 설치된 디렉토리">
Options FollowSymLinks Multiviews
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03
hpacucli 리눅스  (0) 2013.12.31
IP터널링 IP-IP TUNNELING  (0) 2012.04.10

IP터널링 IP-IP TUNNELING

Posted by 주원이^^
2012. 4. 10. 15:07 리눅스/소프트웨어(Software)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

--------------------------------------------

본서버

#vi /etc/sysconfig/network-script/ifcfg-tun0

--------------------------------------------

 

DEVICE=tun0
TYPE=IPIP
BOOTPROTO=none
ONBOOT=yes
PEER_OUTER_IPADDR=지점서버공인

PEER_INNER_IPADDR=지점사설

MY_INNER_IPADDR=본서버공인

 

-------------------------------------------------

라우터 설정

#vi /etc/sysconfig/network-script/route-tun0

-------------------------------------------------

ADDRESS0=지점사설  <- 상대방과 통신할 대역
NETMASK0=255.255.0.0

#service network restart

#route

10.10.0.1 * 255.255.255.255 UH 0 0 0 tun0
10.10.0.0 * 255.255.0.0 U 0 0 0 tun0

 

나오면 성공

 

ip : 10.0.0.0

netamsk : 255.0.0.0

gateway : 10.0.0.1

 

----------------------------------------------

지점서버

#vi /etc/sysconfig/network-script/ifcfg-tun0
-----------------------------------------------

 

DEVICE=tun0
TYPE=IPIP
BOOTPROTO=none
ONBOOT=yes
PEER_OUTER_IPADDR=본서버공인

PEER_INNER_IPADDR=본서버사설

MY_INNER_IPADDR=현재사설

 

-------------------------------------------------

라우터 설정

#vi /etc/sysconfig/network-script/route-tun0

-------------------------------------------------

 

ADDRESS0=172.29.0.0  <- 상대방과 통신할 대역
NETMASK0=255.255.0.0

#service network restart  

#route

 

10.0.0.1        *               255.255.255.255 UH    0      0        0 tun0
10.0.0.0        *               255.0.0.0       U     0      0        0 tun0

나오면 성공

 

ip : 10.10.0.0

netamsk : 255.0.0.0

gateway : 10.10.0.1

 

 

 

 

------------------------------------------------------------


Hi all!
 Here is my networking configuration:
 host1:[192.168.0.2]----host2:[192.168.0.1,172.19.20.21]-----host3:[172.16.17.18]
 (host2 and host3 are directly connected to the internet, all host have ethernet cards)
 All computers are running Debian 3.0 (woody) kernel 2.4.18
 
I want a tunnel from host3 to host2 and I want host 2 to decapsulate and route the encapsulated packets to host1.
 
I've got problems getting the traffic through the tunnel and reach host1. I can see with ethereal that packets are comming in on host2, shown as type "other" (should be UDP with my test app), but they are not routed any further. Host2 can ping host1 so there seems to be a route between them.
 
Here is what I do on host3:
 $>modprobe ipip
 $>iptunnel add tunl0 mode ipip remote 172.19.20.21
$>ifconfig tunl0 192.168.1.1
 $>route add -net 192.168.0.0/24 gw 192.168.1.1 dev tunl0
 
on host2 I only:
 $>echo 1 > /proc/sys/net/ipv4/ip_forward
 
On question I have is what IP adress should be on line "ifconfig..." above. Can I use nearly anythin here?
 
Thanx for you time!
 /Rick

---------------------------------------------------------------

 

본서버가 아닌 지점서버일경우

 

#vi /etc/sysconfig/network-script/route-tun0

-------------------------------------------------

우리 대역껄 뺀 나머지 라우팅 설정

172.24.7.1 일경우.

 

ADDRESS0=172.21.0.0
NETMASK0=255.255.0.0
ADDRESS1=172.22.0.0
NETMASK1=255.255.0.0
ADDRESS2=172.23.0.0
NETMASK2=255.255.0.0
ADDRESS3=172.29.0.0
NETMASK3=255.255.0.0
ADDRESS4=172.30.0.0
NETMASK4=255.255.0.0

'리눅스 > 소프트웨어(Software)' 카테고리의 다른 글

irc ddos  (0) 2014.01.03
irc 서버구축  (0) 2014.01.03
irc 서비스봇  (0) 2014.01.03
hpacucli 리눅스  (0) 2013.12.31
phpmyadmin  (204) 2012.08.16