Prosody IM 및 로컬 사용자-Networks PYMES

시리즈의 일반 색인 : 중소기업을위한 컴퓨터 네트워크 : 소개

이 기사는 다음 내용으로 이어집니다.

안녕 친구와 친구들!

우리는 로컬 사용자의 인증을 기반으로하는 네트워크 서비스를 그룹의 소규모 서버에 계속 추가합니다. 매니아 자유 소프트웨어, 특히 CentOS.

그룹의 근무 조건이 더 나아졌습니다. 그들은 이제 본사로 지하실이있는 XNUMX 층짜리 집을 가지고 있으며, 계단을 오르 내리거나 많은 걷기의 어려움을 완화하기 위해 인스턴트 메시징 서버와 워크 스테이션 간의 파일 전송을 구현해야합니다. ;-). 이를 위해 그들은 프로그램 사용을 제안합니다. 작시법.

그들은 매니아만을위한 인터넷 채팅 서비스를 게시하기로 결정했으며 인스턴트 메시징 서버를 네트워크 네트워크에있는 다른 호환 가능한 XMPP 서버와 연결할 계획입니다. 이를 위해 그들은 도메인 이름을 구입했습니다. desdelinux.팬 지금까지 해당 이름과 관련된 IP 주소는 인터넷 액세스 제공 업체에서 관리합니다.

Prosody를 통한 채팅 서비스를 사용하면 인스턴트 메시지 교환, 파일 전송, 음성 및 화상 회의 등을 할 수 있습니다.

Prosody Instant Messenger는 무엇입니까?

작시법 XMPP 프로토콜을 기반으로하는 최신 통신 서버입니다. 쉬운 설치 및 구성과 시스템 자원의 효율적인 관리를 위해 설계되었습니다. Prosody는 허용 라이선스에 따라 생성 된 오픈 소스-오픈 소스 프로그램입니다. MIT / X11.

XMPP 인스턴트 메시징 서비스를 제공하는 비상업적 대안입니다. 프로덕션 비즈니스 환경, 가족 네트워크, 이웃의 사설 네트워크 등에서 구현할 수 있습니다. 데스크톱 및 모바일 플랫폼을위한 광범위한 클라이언트 소프트웨어를 지원합니다. XMPP를 통해이 서비스는 모든 장치에 제공 될 수 있습니다.

또한 링크 Prosody 및 XMPP 프로토콜과 호환되는 기타 서비스의 여러 설치, 그리고 완전히 안전한 방식으로 발생하는 메시지 및 파일 트래픽을 완전히 제어 할 수있는 메시징 네트워크를 형성합니다.

로컬 사용자에 대한 Prosody 및 인증

Prosody IM 사이트 맵 페이지에 대한 링크를 찾았습니다 인증 제공자, Prosody 0.8 버전부터 다양한 인증 제공 업체가 플러그인. 사용할 수 있습니다 드라이버 내장 소프트웨어를 사용하거나 타사 인증 및 스토리지 제공 업체와 통합 할 수 있습니다. API.

우리가 사용할 수있는 인증 공급자

이름 설명 -------------- ---------------------------------- -----------------------
내부_일반   기본 인증. 일반 텍스트 암호는 내장 스토리지를 사용하여 저장됩니다.

내부_해시  내부 알고리즘으로 인코딩 된 암호는 내장 저장소를 사용하여 저장됩니다.

사이러스       Cyrus SASL (LDAP, WFP,...)

익명    인증 자격 증명이 필요하지 않은 임의의 사용자 이름으로 SASL 'ANONYMOUS'를 사용하는 인증 메커니즘입니다.

XMPP는 인증을 위해 표준 보안 계층 ​​단순 인증 프로토콜을 사용합니다. S단순한 A인증 및 S치료하다 L어제 (SASL), 클라이언트의 자격 증명을 확인합니다. Prosody는 라이브러리를 통합합니다. SASL 기본적으로 기본 제공 저장소의 기존 계정에 대한 자격 증명의 유효성을 검사합니다.

Prosody 0.7 버전부터 외부 공급자 지원 사이러스 SALS 다음과 같은 다른 소스에 대해 외부 사용자가 제공 한 자격 증명을 확인할 수 있습니다. WFP, LDAP, SQL 및 기타. 또한 다음을 사용할 수 있습니다. GSSAPI Single Sign-On 서비스 용- 싱글 사인온 서비스.

Prosody에 대한이 기사에서는 PAM을 통해 로컬 사용자에 대한 인증을 수행하기 위해 인증 공급자를 사용합니다.«사이러스»패키지에서 제공«사이러스-사슬»데몬과 통합되어 작동합니다. Saslauthd.

cyrus-sasl 및 saslauthd

[root @ linuxbox ~] # yum 설치 cyrus-sasl

saslauthd 데몬이 이미 설치되었습니다.

[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow-> 끄기

[root @ linuxbox ~] # setsebool saslauthd_read_shadow on
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow-> 켜기

[root @ linuxbox ~] # systemctl 상태 saslauthd
● saslauthd.service-SASL 인증 데몬. 로드 됨 :로드 됨 (/usr/lib/systemd/system/saslauthd.service; 비활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 비활성화 됨 (작동 중지됨)

[root @ linuxbox ~] # systemctl 사용 saslauthd
/etc/systemd/system/multi-user.target.wants/saslauthd.service에서 /usr/lib/systemd/system/saslauthd.service로 심볼릭 링크를 생성했습니다.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl 상태 saslauthd
● saslauthd.service-SASL 인증 데몬. 로드 됨 :로드 됨 (/usr/lib/systemd/system/saslauthd.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 활성 (실행 중) 2017-04-29 토요일 10:31:20 EDT 이후; 2 초 전 프로세스 : 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (코드 = 종료 됨, 상태 = 0 / SUCCESS) 기본 PID : 1679 (saslauthd) CGroup : /system.slice/saslauthd. 서비스 ├─1679 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1680 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1681 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1682 / usr / sbin / saslauthd -m / run / saslauthd -a pam └─1683 / usr / sbin / saslauthd -m / run / saslauthd -a pam

Prosody와 lua-cyrussasl

[root @ linuxbox ~] # yum install prosody
---- 해결 된 종속성 ======================================== =================================== 패키지 아키텍처 버전 리포지토리 크기 ========= =============================================== ===================== 설치 : prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k 종속성 설치 : lua-expat x86_64 1.3.0- 4.el7 Epel-Repo 32k lua-filesystem x86_64 1.6.2-2.el7 Epel-Repo 28k lua-sec x86_64 0.5-4.el7 Epel-Repo 31k lua-socket x86_64 3.0-0.10.rc1.el7 Epel -Repo 176k 트랜잭션 요약 ======================================== ===================================== 패키지 1 개 설치 (+4 종속 패키지) --- -

[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port-> 끄기
[root @ linuxbox ~] # setsebool prosody_bind_http_port on
[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port-> on

[root @ linuxbox ~] # systemctl prosody 활성화
/etc/systemd/system/multi-user.target.wants/prosody.service에서 /usr/lib/systemd/system/prosody.service로 심볼릭 링크를 생성했습니다. [root @ linuxbox ~] # systemctl 상태 prosody ● prosody.service-Prosody XMPP (Jabber) 서버로드 됨 :로드 됨 (/usr/lib/systemd/system/prosody.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 비활성 (작동 중지됨) )

[root @ linuxbox ~] # systemctl start prosody
[root @ linuxbox ~] # systemctl status prosody
● prosody.service-Prosody XMPP (Jabber) 서버로드 됨 :로드 됨 (/usr/lib/systemd/system/prosody.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 활성 (실행 중) 2017-04-29 토요일 10:35:07 EDT 이후; 2 초 전 프로세스 : 1753 ExecStart = / usr / bin / prosodyctl start (코드 = 종료 됨, 상태 = 0 / SUCCESS) 기본 PID : 1756 (lua) CGroup : /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 월 10 일 35:06:0.9.12 일반 정보 안녕하세요, Prosody 버전 29에 오신 것을 환영합니다. 10 월 35 일 06:29:10 일반 정보 Prosody는 연결 처리를 위해 선택 백엔드를 사용합니다. 35 월 06 일 2:5269:5269 portmanager 정보 활성화 된 서비스 's29s' on [::] : 10, [*] : 35 06 월 2 일 5222:5222:29 portmanager info 활성화 된 서비스 'c10s'on [::] : 35, [*] : 06 Apr 29 10:35:06 portmanager info Activated 포트가없는 서비스 'legacy_ssl'Apr 29 10:35:06 mod_posix info Prosody가 콘솔에서 분리하려고합니다. 추가 콘솔 출력을 비활성화합니다. 1756 월 XNUMX 일 XNUMX:XNUMX:XNUMX mod_posix info PID XNUMX으로 데몬 화되었습니다.

[root @ linuxbox ~] # yum install lua-cyrussasl

가상 호스트 "chat"을 만듭니다.desdelinuxProsody가 설치하는 "example.com"의 .fan"

[root @ linuxbox ~] # cp /etc/prosody/conf.d/example.com.cfg.lua \
/etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
-VirtualHost 채팅 섹션

VirtualHost "채팅.desdelinux.팬"

-이 호스트에 TLS 용 인증서를 할당합니다. 그렇지 않으면 전역 섹션에 설정된 인증서를 사용합니다 (있는 경우). -포트 5223의 이전 스타일 SSL은 하나의 인증서 만 지원하며 항상 전역 인증서를 사용합니다.
        SSL = {
                 key = "/etc/pki/prosody/chat.key";
                인증서 = "/etc/pki/prosody/chat.crt";
        }

------ 구성 요소 ------ -- 다중 사용자 회의 및 전송과 같은 특수 서비스를 제공하는 호스트를 추가하기 위해 구성 요소를 지정할 수 있습니다. -- 구성 요소에 대한 자세한 내용은 http://prosody.im/doc/comComponents를 참조하세요. --- conference.chat에 MUC(다중 사용자 채팅) 룸 서버를 설정합니다.desdelinux.팬:
구성요소 "회의.채팅.desdelinux.fan" "muc"
name = "Enthusiasts"-선언 할 컨퍼런스 룸의 이름입니다. 언제 참여할 예정입니까?
limit_room_creation = true

-서버 프록시 파일 전송을위한 SOCKS5 바이트 스트림 프록시 설정 : --Component "proxy.chat" "proxy65"--- 외부 구성 요소 설정 (기본 구성 요소 포트는 5347)--외부 구성 요소를 통해 다양한 추가 가능 게이트웨이와 같은 서비스 /-ICQ, MSN 및 Yahoo와 같은 다른 네트워크로 전송합니다. 자세한 정보-참조 : http://prosody.im/doc/components#adding_an_external_component---Component "gateway.chat"-component_secret = "password"

인증 = "사이러스"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = 거짓
cyrus_application_name = "프로 소디"
cyrus_server_fqdn = "채팅.desdelinux.팬"

/etc/prosody/conf.d/chat 파일을 소유한 그룹을 조정합니다.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r -----. 1 뿌리 뿌리 1361 29월 10일 45:XNUMX /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # chown root : prosody /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r----. 1 루트 prosody 1361 29월 10일 45:XNUMX /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

구성을 확인합니다.

[root @ linuxbox ~] # luac -p /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
[root @ linuxbox ~] #

보안 연결을위한 SSL 인증서

로컬 네트워크 및 인터넷 모두에서 Prosody 서버에 연결하고 자격 증명이 안전하게 암호화되도록하려면 SSL 인증서를 생성해야합니다. 보안 소켓 계층 가상 호스트 구성 파일에 선언 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

[root @ linuxbox ~] # cd / etc / prosody / certs /

[root @ linuxbox certs] # ​​openssl req -new -x509 -days 365 -nodes \
-out "chat.crt"-newkey rsa : 2048 -keyout "chat.key"
2048비트 RSA 개인 키 생성 .....+++ ..........+++ 'chat.key'에 새 개인 키 쓰기 ----- 다음을 묻는 메시지가 표시됩니다. 인증서 요청에 포함될 정보를 입력하세요. 입력하려는 이름은 고유 이름 또는 DN입니다. 필드가 꽤 많지만 일부 필드는 비워둘 수 있습니다. 일부 필드에는 기본값이 있으므로 '.'을 입력하면 해당 필드가 비어 있게 됩니다. ----- 국가 이름(2자 코드) [XX]:CU 주 또는 지방 이름(전체 이름) []:쿠바 지역 이름(예: 도시) [기본 도시]:Havana 조직 이름(예: 회사) [ 기본 회사 회사]:DesdeLinux.팬 조직 단위 이름(예: 섹션) []:Enthusiasts 일반 이름(예: 이름 또는 서버의 호스트 이름) []:chat.desdelinux.fan 이메일 주소 []:buzz@desdelinux.팬

글로벌 구성 옵션을 수정합니다.

솔 라멘 테 우리는 편집 할 것이다 파일의 다음 옵션 /etc/prosody/prosody.cfg.lua:

[root @ linuxbox certs] # ​​cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg.lua
-Prosody 예제 구성 파일--Prosody 구성 정보는 당사-웹 사이트 http://prosody.im/doc/configure에서 찾을 수 있습니다.--Tip :이 파일의 구문이 다음과 같은지 확인할 수 있습니다. 수정-다음을 실행하여 완료 한 경우 : luac -p prosody.cfg.lua-오류가있는 경우 오류가 무엇인지, 어디에 있는지 알려줍니다. 그렇지 않으면 조용히 유지됩니다. --남은 것은이 파일의 이름을 바꾸어 .dist 끝을 제거하고-공백을 채우는 것입니다. 행운을 빕니다, 행복한 재 버링! ---------- 서버 전체 설정 -----------이 섹션의 설정은 전체 서버에 적용되며 기본 설정입니다.-모든 가상 호스트에 대해-이것은 서버의 관리자 인 계정 목록 (기본적으로 비어 있음)입니다. 계정을 별도로 만들어야합니다 (자세한 내용은 http://prosody.im/doc/creating_accounts 참조)-예 : admins = { "user1@example.com", "user2@example.net"}
관리자 = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.팬" }

-높은 부하에서 더 나은 성능을 위해 libevent 사용 활성화-자세한 내용은 다음을 참조하십시오. http://prosody.im/doc/libevent --use_libevent = true; -시작시 Prosody가로드 할 모듈 목록입니다. -plugins 폴더에서 mod_modulename.lua를 찾으므로 이것도 있는지 확인하십시오. -모듈에 대한 문서는 http://prosody.im/doc/modules에서 찾을 수 있습니다. modules_enabled = {-일반적으로 필요한 "roster"; -사용자가 명단을 가질 수 있습니다. 권장;) "saslauth"; -클라이언트 및 서버에 대한 인증. 로그인하려는 경우 권장됩니다. "tls"; -c2s / s2s 연결 "다이얼 백"에서 보안 TLS 지원 추가; -s2s 다이얼 백 지원 "디스크"; -서비스 검색-필수는 아니지만 "비공개"를 권장합니다. -개인 XML 저장소 (룸 북마크 등) "vcard"; -사용자가 vCard를 설정할 수 있도록 허용-성능에 영향을 미치므로 기본적으로 "개인 정보 보호"에 주석이 표시됩니다. -지원 개인 정보 목록- "압축"; -스트림 압축 (참고 : 설치된 lua-zlib RPM 패키지 필요)- "버전"이 있으면 좋습니다. -서버 버전 요청 "가동 시간"에 대한 응답; -서버가 "시간"을 실행 한 기간을보고합니다. -다른 사람들에게이 서버의 "핑"시간을 알려주십시오. -pongs "pep"로 XMPP 핑에 응답합니다. -사용자가 자신의 기분, 활동, 음악 재생 등을 "등록"할 수 있도록합니다. -사용자가 클라이언트를 사용하여이 서버에 등록하고 암호를 변경할 수 있도록 허용-관리 인터페이스 "admin_adhoc"; -애드혹 명령을 지원하는 XMPP 클라이언트를 통한 관리 허용- "admin_telnet"; -로컬 호스트 포트 5582에서 텔넷 콘솔 인터페이스를 엽니 다.-HTTP 모듈
        "보쉬"; - "Jabber over HTTP"라고도하는 BOSH 클라이언트 활성화
        - "http_files"; -HTTP를 통해 디렉토리에서 정적 파일 제공-기타 특정 기능 "posix"; -POSIX 기능, 서버를 백그라운드로 전송, syslog 활성화 등 - "그룹"; -공유 명단 지원- "발표"; -모든 온라인 사용자에게 공지 사항 보내기- "환영합니다"; -계정을 등록한 사용자를 환영합니다- "감시 등록"; -등록에 대한 경고 관리자- "대단한"; -로그인시 사용자에게 메시지 보내기- "legacyauth"; -레거시 인증. 일부 오래된 클라이언트 및 봇에서만 사용됩니다. };

bosh_ports = {{포트 = 5280; 경로 = "http-bind"; 인터페이스 = "127.0.0.1"; }}

bosh_max_inactivity = 60
-서버 측에서 HTTPS-> HTTP를 프록시하는 경우 사용
think_bosh_secure = true
-프록시가없는 모든 사이트의 스크립트에서 액세스 허용 (최신 브라우저 필요)
cross_domain_bosh = 사실

-이러한 모듈은 자동으로로드되지만 원하는 경우-비활성화하려면 여기에서 주석을 해제하십시오. modules_disabled = {- "offline"; -오프라인 메시지 저장- "c2s"; -클라이언트 연결 처리- "s2s"; -서버 간 연결 처리}; -보안을 위해 기본적으로 계정 생성 비활성화-자세한 내용은 http://prosody.im/doc/creating_accounts allow_registration = false; -SSL / TLS 관련 설정입니다. 원하지 않는 경우-SSL / TLS를 사용하려면이 ssl = {key = "/etc/pki/prosody/localhost.key"에 주석을 달거나 제거 할 수 있습니다. 인증서 = "/etc/pki/prosody/localhost.crt"; }-클라이언트가 암호화 된 연결을 사용하도록 강제 하시겠습니까? 이 옵션은 클라이언트가 암호화를 사용하지 않는 한 인증을 방지합니다.

c2s_require_encryption = 참

-서버 간 연결에 인증서 인증을 강제 하시겠습니까? -이것은 이상적인 보안을 제공하지만 암호화를 지원하고 유효하고 신뢰할 수있는 인증서를 제시하기 위해 통신하는 서버가 필요합니다. -참고 : 사용중인 LuaSec 버전이 인증서 확인을 지원해야합니다! -자세한 내용은 http://prosody.im/doc/s2s#security를 ​​참조하십시오. s2s_secure_auth = false-많은 서버가 암호화를 지원하지 않거나 유효하지 않거나 자체 서명 된 인증서가 있습니다. 여기에 인증서를 사용하여 인증 할 필요가없는 도메인을 나열 할 수 있습니다. DNS를 사용하여 인증됩니다. --s2s_insecure_domains = { "gmail.com"}-s2s_secure_auth를 비활성화 한 상태로 두더라도 여기에 목록을 지정하여 일부 도메인에 대해 유효한 인증서를 요구할 수 있습니다. --s2s_secure_domains = { "jabber.org"}-사용할 인증 백엔드를 선택합니다. '내부'공급자-Prosody의 구성된 데이터 저장소를 사용하여 인증 데이터를 저장합니다. -Prosody가 클라이언트에 보안 인증 메커니즘을 제공 할 수 있도록-기본 제공자는 비밀번호를 일반 텍스트로 저장합니다. 서버를 신뢰하지 않는 경우 http://prosody.im/doc/modules/mod_auth_internal_hashed-해시 된 백엔드 사용에 대한 정보를 참조하십시오.

-인증 = "internal_plain"
인증 = "사이러스"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = 거짓

-사용할 스토리지 백엔드를 선택합니다. 기본적으로 Prosody는 구성된 데이터 디렉토리에서 플랫 파일을 사용하지만 모듈을 통해 더 많은 백엔드도 지원합니다. 기본적으로 "sql"백엔드가 포함되지만 추가 종속성이 필요합니다. 자세한 내용은 http://prosody.im/doc/storage를 참조하십시오. --storage = "sql"-기본값은 "internal"입니다 (참고 : "sql"은 설치되어 있어야합니다-lua-dbi RPM 패키지).- "sql"백엔드의 경우 * 하나 * 주석을 제거하여 구성 할 수 있습니다. : --sql = {driver = "SQLite3", 데이터베이스 = "prosody.sqlite"}-기본값. 'database'는 파일 이름입니다. --sql = {드라이버 = "MySQL", 데이터베이스 = "prosody", 사용자 이름 = "prosody", 암호 = "secret", 호스트 = "localhost"} --sql = {driver = "PostgreSQL", 데이터베이스 = "prosody ", username ="prosody ", password ="secret ", host ="localhost "}-로깅 구성-고급 로깅은 http://prosody.im/doc/logging log = {-레벨의 모든 것을 로깅합니다. "info"이상 (즉, "debug"메시지를 제외한 모든 메시지)-/var/log/prosody/prosody.log 및 /var/log/prosody/prosody.err 오류
    debug = "/var/log/prosody/prosody.log"; -자세한 로깅을 위해 '정보'를 '디버그'로 변경
    오류 = "/var/log/prosody/prosody.err"; -파일에도 오류 기록-error = "* syslog"; -오류를 syslog에도 기록합니다.-log = "* console"; -daemonize = false로 디버깅하는 데 유용한 콘솔에 기록}-POSIX 구성, http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false-기본값은 "true"입니다. ------ 추가 구성 파일 -------구성 목적을 위해 자체 구성 파일에 VirtualHost 및-구성 요소 정의를 추가하는 것이 좋습니다. 이 행에는 다음이 포함됩니다.-/etc/prosody/conf.d/의 모든 구성 파일 포함 "conf.d / *. Cfg.lua"

linuxbox의 Dnsmasq 구성 수정

/Etc/dnsmasq.conf 파일

값만 추가하면됩니다. cname=채팅.desdelinux.fan,리눅스박스.desdelinux.팬:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # ------------------------------- ---------- # RECORDSCNAMEMXTXT # ----------- ----------------- # 이 유형의 등록에는 /etc/hosts 파일의 항목 # 예: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,리눅스박스.desdelinux.팬
cname=채팅.desdelinux.fan,리눅스박스.desdelinux.팬
----

[root @ linuxbox ~] # service dnsmasq restart
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host chat
잡담.desdelinux.fan은 linuxbox의 별칭입니다.desdelinux.팬. 리눅스박스.desdelinux.fan의 주소는 192.168.10.5 linuxbox입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

/Etc/resolv.conf 파일

[root @ linuxbox ~] # nano /etc/resolv.conf 
수색 desdelinux.fan nameserver 127.0.0.1 # 외부 또는 # 비도메인 DNS 쿼리용 desdelinux.fan # 로컬=/desdelinux.fan/네임서버 172.16.10.30

ISP의 외부 DNS 수정

우리는 전체 기사를 바칩니다«NSD 권위주의 DNS 서버 + Shorewall-SME 네트워크»인스턴트 메시징 서비스가 인터넷으로 나가고 Prosody 서버가 웹에있는 나머지 호환 가능한 XMPP 서버와 연합 할 수 있도록 XMPP와 관련된 SRV 레코드를 선언하는 방법에 대한 주제입니다.

Prosody를 다시 시작합니다

[root @ linuxbox ~] # 서비스 프로 소디 재시작
/ bin / systemctl restart prosody.service로 리디렉션
[root @ linuxbox ~] # 서비스 운율 상태
/ bin / systemctl 상태 prosody.service로 리디렉션 중 ● prosody.service-Prosody XMPP (Jabber) 서버로드 됨 :로드 됨 (/usr/lib/systemd/system/prosody.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 활성 (실행 중) Sun 2017-05-07 12:07:54 EDT 이후; 8 초 전 프로세스 : 1388 ExecStop = / usr / bin / prosodyctl stop (코드 = 종료 됨, 상태 = 0 / SUCCESS) 프로세스 : 1390 ExecStart = / usr / bin / prosodyctl 시작 (코드 = 종료 됨, 상태 = 0 / SUCCESS) 기본 PID : 1393 (lua) C 그룹 : /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • 이전 명령을 실행 한 상태에서 새 콘솔을 열고 서비스를 다시 시작하는 동안 Prosody에서 디버그 출력을 보는 것은 매우 건강합니다..

Cyrus SASL을 구성합니다.

[root @ linuxbox ~] # nano /etc/sasl2/prosody.conf
pwcheck_method : saslauthd mech_list : PLAIN

[root @ linuxbox ~] # service saslauthd restart
/ bin / systemctl restart saslauthd.service로 리디렉션
[root @ linuxbox ~] # 서비스 saslauthd 상태

-- 만약...
[root @ linuxbox ~] # 서비스 프로 소디 재시작

PAM 구성

[root @ linuxbox ~] # nano /etc/pam.d/xmpp
auth include password-auth 계정은 password-auth를 포함합니다.

PAM 인증 검사

  • 확인하려면 다음 명령을 실행하는 것에 관한 것이므로 아래와 같이 정확하게 실행해야합니다. "루트"사용자가 아닌 "프로 소디"사용자로:
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0 : OK "성공."

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p legolas
0 : OK "성공."

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0 : "인증 실패"없음

로컬 사용자에 대한 인증 프로세스가 올바르게 작동합니다.

FirewallD를 수정합니다.

그래픽 유틸리티 사용«코타 푸에 고스«, 지역 용«공개»서비스 활성화 :

  • xmpp-보쉬
  • xmpp- 클라이언트
  • xmpp 서버
  • xmpp 로컬

지역«외부»서비스 활성화 :

  • xmpp- 클라이언트
  • xmpp 서버

그리고 우리는 포트를 엽니 다 TCP 5222와 5269.

마지막으로, 우리는 변경합니다 실행 시간 a 영구적 인 y FirewallD를 다시로드하십시오..

XMPP Psi 클라이언트

새로 설치된 Prosody Instant Messaging 서버에 연결하기 위해 존재하는 다양한 클라이언트 중에서 선택할 수 있습니다.

  • 공감
  • 가짐
  • 카두
  • PSI
  • Psi 플러스
  • 피진
  • 정신 감응
  • 위챗

목록은 계속됩니다. 우리는 Psi +. 설치하려면 선호하는 명령을 사용하거나 해당 작업에 사용할 수있는 그래픽 도구를 통해 수행합니다. 일단 설치되면, 우리는 그것을 실행하고, 기사의 끝에서 우리는 당신에게 유용하기를 바라는 일련의 이미지를 제공합니다.

개요

  • 시스템의 로컬 사용자를 위해 Prosody 기반 인스턴트 메시징 서비스를 설치할 수 있으며 내부 Prosody 사용자 또는 기타 유형의 인증 자격 증명 저장소를 만들 필요가 없습니다.
  • 인증 자격 증명은 클라이언트에서 서버로 암호화되고 후자의 응답도 클라이언트에 전달됩니다.
  • 단일 서버에 PAM을 통한 로컬 인증을 기반으로 한 서비스를 둘 이상 설치할 수 있습니다.
  • 지금까지 서버 리눅스박스.desdelinux.팬 SME 네트워크에 다음 서비스를 제공합니다.:
    • 도메인 이름 또는 DNS 확인.
    • IP 또는 DCHP 주소의 동적 부여
    • 네트워크 시간 서비스 또는 NTP
    • UNIX / Linux 클라이언트에서 SSH를 통해 또는 Microsoft Windows 클라이언트의 경우 WinSCP를 통해 백업합니다.
    • 인스턴트 메시징 서비스-채팅. 인터넷에서도 구할 수 있습니다.
    • Chat 자체를 통한 파일 공유 서비스. 인터넷에서도 사용 가능
    • Prosody에서 구성 할 수있는 원격 회의 서비스입니다.

그리고 방화벽-FirewallD의 구성을위한 몇 가지 그래픽 도구와 우리가 원하는 작업에 대한 기본 지식이 있다면 정말 사용하기 쉬운 시스템의 사용자 및 그룹 관리를위한 모든 이전 서비스.

중대한

방문하십시오 완전한 정보를 얻으려면 다음 URL P로소 디: HTTP: //prosody.im.

다음 할부까지!


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   길레

    당신의 모든 기여가 얼마나 흥미 로웠는지, 그들 모두에게 대단히 감사합니다.

  2.   아이오

    또 다른 훌륭한 기사에 대해 Federico에게 축하를 보냅니다.
    여기에서 저자는 네트워크에서 XMPP 프로토콜을 사용하여 인스턴트 메시지를 교환하고, 파일을 전송하고, 음성 및 비디오로 회의를 만들고, 보안 연결을 통한 로컬 사용자.
    또한 전체 SME 시리즈에서 일반적으로 사용되는 것처럼 작성자는 네트워크에서 이미 작동중인 나머지 서비스 및 / 또는 매개 변수로 구성 할 서비스 통합을 용이하게합니다.
    1- 채팅 서비스를 포함하기 위해 DNS 서비스를 수정해야하며 모든 것이 올바르게 작동합니다.
    2- 채팅 서비스를 로컬로 인증하기위한 PAM의 구성 (및 확인).
    3- 채팅 서비스를 허용하기 위해 로컬 네트워크 및 "네트워크 네트워크"에 대해 방화벽에서 수행해야하는 작업 및 적절한 보안 수준.
    4- 그리고 마지막으로 XMPP 클라이언트에서 채팅 확인.
    이 서비스를 구현해야하는 경우 TIPS 디렉토리에 게시물을 저장할 필요가 없습니다.

  3.   페데리코

    나는 그들이 어떤면에서 당신에게 유용하기를 바랍니다. 의견 주셔서 감사합니다

  4.   페데리코

    IWO 친구, 당신은 기사의 진정한 요지를 얻었습니다. 모든 클라이언트가 Microsoft Windows 인 경우에도 UNIX / Linux 네트워크 용 서비스를 구현하고 있다고 추가하십시오. 많은 독자들은 아직 그 작은 세부 사항을 알아 차리지 못했을 것입니다. 😉

  5.   황도대 Carburus

    아주 좋은 공헌 친구 Fico. 여러분은 제가 여러분의 모든 기사를 따 랐음을 알고 있으며, 지난 4 회에서 Active Directory와 도메인 컨트롤러의 베일을 내 얼굴에 두었 기 때문에 알지 못했던 많은 질문을 배웠습니다. 나는 실질적으로 NT 4와 PDC, BDC로 태어났습니다. Centos 또는 다른 Linux를 사용하는 단일 시스템에 대한 네트워크 인증을 단순화 할 수 있다는 사실을 몰랐습니다. 이제 저는 네트워크 역사의 기원만큼이나 오래된 새로운 철학을 배우고 있습니다. 게시 할 내용에 대해 거의 말하지 않지만 😉 LDAP와 Samba 4 기반 Active Directory를 계속 사용할 것이라고 생각합니다. 자유 소프트웨어를 위해 헌신 해주셔서 감사합니다. 다음 기사를 기다릴게요, Fico.

  6.   에두아르도 노엘

    타이거, 좋은 기사 !!!!!

    동료 여러분, DNS 부분에 작은 세부 사항이 있습니다. 전체 도메인을 나타냅니다. desdelinux.fan을 IP 172.16.10.10으로 설정하면 이 서버를 Debian(DNS 서버)에 구현했습니다. 이제 이 채팅 서버는 CentOS에 있으므로 논리적으로 IP 주소가 다릅니다. 이를 위해 방화벽의 모든 트래픽을 리디렉션해야 했습니다. 이 IP는 인스턴트 메시징 서비스가 위치할 곳입니다. 현재 이 IP는 동일한 DNS 서버를 가리키고 메시징 서비스가 없기 때문입니다.

    그렇지 않으면 모두 훌륭하고 큰 포옹.

  7.   페데리코

    의견을 보내 주신 Eduardo에게 감사드립니다. 단락을 잘 읽었습니다.

    마찬가지로 "외부"영역에 대해 서비스를 활성화합니다.

    xmpp-client
    xmpp-server

    그리고 tcp 포트 5222 및 5269를 엽니 다.

    ens34 인터페이스를 통해 XMPP 프로토콜의 출력을 허용합니다. Squid 기사에서도 아래 게시물을 기억하십시오. 😉

  8.   페데리코

    조디악 친구 : 당신은 제가 미리 놀라움을 선포하도록합니다. 아니요, LDAP는 지금 작동하지 않습니다. Postfix, Dovecot, Squirrelmail 및이 미니 시리즈의 마지막 인 PAM 인증을 기반으로하는 메일 서버의 핵심입니다. 더 나. ;-). 그런 다음 Samba 4 AD-DC에 도달 할 때까지 나머지가 오면. 안녕!.

  9.   에두아르도 노엘

    예, 친구여, 내가 그것을 읽었지만 다른 서버를 향한 PREROUTING이 어디에도 보이지 않는다면,보세요.

  10.   페데리코

    Eduardo : 설치를하십시오. 서브넷 IP 172.16.10.0/24로 랩톱을 연결합니다. 채팅 클라이언트를 설치하고 Prosody에 연결합니다. 그래서 나는 그것을했고 그것은 그렇게 작동했습니다. 😉
    FirewallD는 자체 방식으로 PREROUTING 할 CentOS 용입니다.