시리즈의 일반 색인 : 중소기업을위한 컴퓨터 네트워크 : 소개
이 기사는 다음 내용으로 이어집니다.
안녕 친구와 친구들!
그룹 매니아 인터넷 도메인 이름을 구입했습니다. desdelinux.팬 인터넷 서비스 제공 업체 또는 ISP. 이번 인수의 일환으로 ISP는 인터넷에서 해결되는 도메인 관련 쿼리에 필요한 모든 DNS 레코드를 포함하도록 요청했습니다.
그들은 또한 SRV 기록을 포함하도록 요청했습니다. XMPP 기반으로 인스턴트 메시징 서버를 설치할 계획이기 때문에 작시법 인터넷에서 호환되는 XMMP 서버의 기존 연합에 합류합니다.
- 이 기사의 주요 목적은 XMPP 호환 인스턴트 메시징 서비스와 관련된 SRV 레코드를 DNS 영역 파일에 반영하는 방법을 보여주는 것입니다..
- 의 설치 쇼어월 단일 네트워크 인터페이스로 위임 된 DNS 영역을 관리하기 위해 이와 같은 서버를 설치하기로 결정한 사용자에게 서비스를 제공 할 수 있습니다.. 해당 서버가 인터넷 외에 엔터프라이즈 LAN에 연결되는 경우 두 개의 네트워크 인터페이스를 사용하기 위해 필요한 설정을 구성해야합니다..
기본 서버
신뢰할 수있는 DNS 서버 NSD를 데비안 "Jessie". 이것은 "팬"의 루트 서버입니다. 서버의 주요 매개 변수는 다음과 같습니다.
이름 : ns.fan IP 주소 : 172.16.10.30 root @ ns : ~ # hostname ns 루트 @ ns : ~ # 호스트 이름 --fqdn ns.팬 root @ ns : ~ # ip addr show 1 : 무엇 : mtu 65536 qdisc noqueue state UNKNOWN 그룹 기본 링크 / 루프백 00 : 00 : 00 : 00 : 00 : 00 brd 00 : 00 : 00 : 00 : 00 : 00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 :: 1/128 범위 호스트 valid_lft forever preferred_lft forever 2 : eth0 : mtu 1500 qdisc pfifo_fast 상태 UP 그룹 기본값 qlen 1000 링크 / 이더 00 : 0c : 29 : dc : d7 : 1b brd ff : ff : ff : ff : ff : ff inet 172.16.10.30/24 brd 172.16.10.255 범위 전역 eth0 valid_lft forever preferred_lft forever inet6 fe80 :: 20c : 29ff : fedc : d71b / 64 scope link valid_lft forever preferred_lft forever
쇼어월
서비스를 WWW 빌리지로 떠나기 전에 강력한 방화벽-라우터를 통해 제공하는 서버와 서비스를 보호하는 것이 매우 긍정적입니다. Shorewall은 구성하기가 비교적 쉽고 안전한 보호 옵션입니다.
- 방화벽의 정확하고 완전한 구성은 우리가 아닌 감정 가나 전문가의 임무입니다. 최소 기능 구성에 대한 가이드 만 제공합니다..
우리는 해안 벽 패키지와 그 문서를 설치합니다.
root @ ns : ~ # aptitude show shorewall
패키지 : shorewall 새로운 : 예 조건 : 설치되지 않음
버전 : 4.6.4.3-2
root @ ns : ~ # aptitude install shorewall shorewall-doc
문서
다음 폴더에서 풍부한 문서를 찾을 수 있습니다.
- / usr / 공유 / doc / shorewall
- / usr / share / doc / shorewall / 예제
- / usr / 공유 / 문서 / shorewall-doc / html
네트워크 인터페이스를 구성합니다.
root @ ns : ~ # cp / usr / share / doc / shorewall / examples / one-interface / interfaces \ / etc / 해안 벽 / root @ ns : ~ # nano / etc / shorewall / 인터페이스 #ZONE INTERFACE OPTIONS net eth0 tcpflags, logmartians, nosmurfs, sourceroute = 0
방화벽 영역을 선언합니다.
root @ ns : ~ # cp / usr / share / doc / shorewall / examples / one-interface / zones \ / etc / 해안 벽 / root @ ns : ~ # nano / etc / shorewall / zones # 존 유형 옵션 IN OUT # 옵션 옵션 fw firewall net ipv4
방화벽에 액세스하기위한 기본 정책
root @ ns : ~ # cp / usr / share / doc / shorewall / examples / one-interface / policy \
/ etc / 해안 벽 /
root @ ns : ~ # nano / etc / shorewall / policy
# 소스 대상 정책 로그 수준 한도 : 버스트 $ FW 순 수락
net 모든 DROP 정보
# 다음 정책은 모든 거부 정보가 마지막에 있어야합니다.
방화벽 액세스 규칙
root @ ns : ~ # cp / usr / share / doc / shorewall / examples / one-interface / rules \
/ etc / 해안 벽 /
root @ ns : ~ # nano / etc / shorewall / rules
# 액션 소스 대상 프로토콜 대상 소스 원래 속도 사용자 / 마크 CON $ # 포트 포트 (S) 대상 제한 그룹? 섹션 모두? 섹션 설정 됨? 섹션 관련됨? 섹션 유효하지 않음? 섹션 추적되지 않음? 섹션 신규 # 유효하지 않은 상태의 패킷 삭제 # 폐기 유효하지 않은 상태의 패킷 유효하지 않은 (DROP) net $ FW tcp # "bad"에서 Ping 삭제 그물 zone .. 로그가 넘치지 않도록합니다. .. # "불량"네트워크 영역에서 Ping을 삭제합니다. # 시스템 로그의 플러딩 방지 (/ var / log / syslog) Ping (DROP) net $ FW # 방화벽에서 네트워크 영역으로의 모든 ICMP 트래픽 허용 # 방화벽에서 영역으로의 모든 ICMP 트래픽 허용 그물. 수락 $ FW net icmp
# 자체 규칙 # 두 컴퓨터에서 SSH를 통해 액세스
SSH / ACCEPT 넷 : 172.16.10.1,172.16.10.10 $ FW tcp 22
# 포트 53 / tcp 및 53 / udp에서 트래픽 허용
수락 순 $ FW tcp 53
수락 순 $ FW udp 53
구성 파일의 구문을 확인합니다.
root @ ns : ~ # 해안 벽 확인
확인 중 ... / etc / shorewall / params 처리 중 ... /etc/shorewall/shorewall.conf 처리 중 ... 모듈로드 중 ... / etc / shorewall / zones 확인 중 ... / etc / shorewall / 인터페이스 확인 중 .. 영역 내 호스트 확인 ... 작업 파일 찾기 ... / etc / shorewall / 정책 확인 ... 안티 스머프 규칙 추가 TCP 플래그 필터링 확인 ... 커널 경로 필터링 확인 ... 화성 로깅 확인 ... 확인 소스 라우팅 승인 ... MAC 여과 확인-1 단계 ... / etc / shorewall / 규칙 확인 중 ... / etc / shorewall / conntrack 확인 ... MAC 여과 확인-2 단계 ... 정책 적용 .. . /usr/share/shorewall/action.Drop for chain Drop 확인 중 ... /usr/share/shorewall/action.Broadcast for chain Broadcast 확인 중 ... Shorewall 구성 확인
root @ ns : ~ # nano / etc / default / shorewall
# 기본 구성으로 시작 방지 # Shorewall이 시작될 수 있도록 다음 변수를 1로 설정합니다.
시작 =1
------
root @ ns : ~ # service shorewall start
root @ ns : ~ # service shorewall restart
root @ ns : ~ # 서비스 해안 벽 상태
● shorewall.service-LSB : 부팅시 방화벽 구성로드 됨 :로드 됨 (/etc/init.d/shorewall) 활성 : Sun 2017-04-30 16:02:24 EDT 이후 활성 (종료 됨). 31 분 전 프로세스 : 2707 ExecStop = / etc / init.d / shorewall stop (코드 = 종료 됨, 상태 = 0 / SUCCESS) 프로세스 : 2777 ExecStart = / etc / init.d / shorewall start (코드 = 종료 됨, 상태 = 0 / 성공)
명령의 출력을주의 깊게 읽는 것은 매우 교육적입니다. iptables -L 특히 INPUT, FORWARD, OUTPUT 및 거부 된 정책에 대한 기본 정책과 관련하여 거부 외부 공격으로부터 보호하기 위한 방화벽입니다. 최소한 약간의 보호를 받으며 인터넷에 나가시겠죠?
루트 @ ns : ~ # iptables -L
NSD
root @ ns : ~ # aptitude show nsd
패키지 : nsd 신규 : 예 상태 : 설치됨 자동으로 설치됨 : 아니오
버전 : 4.1.0-3
root @ ns : ~ # aptitude install nsd
루트 @ ns : ~ # ls / usr / share / doc / nsd /
contrib changelog.Debian.gz NSD-DIFFFILE 요구 사항 .gz 예제 changelog.gz NSD-FOR-BIND-USERS.gz TODO.gz 저작권 차이 .pdf.gz README.gz 크레딧 업그레이드 NSD-DATABASE RELNOTES.gz
루트 @ ns : ~ # 나노 /etc/nsd/nsd.conf
# 데비안 용 NSD 구성 파일. # nsd.conf (5) 매뉴얼 페이지를 참조하십시오.
# 주석은 /usr/share/doc/nsd/examples/nsd.conf를 참조하십시오.
# 참조 구성 파일.
# 다음 줄에는 # /etc/nsd/nsd.conf.d 디렉토리의 추가 구성 파일이 포함되어 있습니다. # 경고 : glob 스타일은 아직 작동하지 않습니다 ... # include : "/etc/nsd/nsd.conf.d/*.conf"server : logfile : "/var/log/nsd.log"ip-address : 172.16.10.30 # IPv4 연결에서 수신 do-ip4 : yes # IPv6 연결에서 수신 do-ip6 : no # 쿼리에 응답 할 포트. 기본값은 53입니다. port : 53 사용자 이름 : nsd # zones에서 provide-xfr 옵션은 # axfr checks zone : name : fan zonefile : /etc/nsd/fan.zone zone : name : desdelinux.팬
영역 파일: /etc/nsd/desdelinux.fan.zone Provide-xfr: 172.16.10.250 NOKEY 영역: 이름: 10.16.172.in-addr.harp
zonefile : /etc/nsd/10.16.172.arpa.zone provide-xfr : 172.16.10.250 NOKEY 영역 : 이름 : swl.fan zonefile : /etc/nsd/swl.fan.zone 영역 : 이름 : debian.fan zonefile : /etc/nsd/debian.fan.zone 영역 : 이름 : centos.fan 영역 파일 : /etc/nsd/centos.fan.zone 영역 : 이름 : freebsd.fan 영역 파일 : /etc/nsd/freebsd.fan.zone
루트 @ ns : ~ # nsd-checkconf /etc/nsd/nsd.conf
루트 @ ns : ~ #
Zones 파일을 만듭니다.
루트 존«부채.» 아래에 구성된 구성은 테스트 전용이므로 예로 사용해서는 안 됩니다. 우리는 루트 도메인 이름 서버 관리자가 아닙니다.
루트 @ ns : ~ # 나노 /etc/nsd/fan.zone
$ ORIGIN 팬. $ TTL 3H @ IN SOA ns. 팬. root.fan. (1, 직렬 1D, 1H 새로 고침, 1W 재시도, 3H 만료), 최소 또는; 부정적인 캐싱 시간; @ IN NS ns. 팬. @ IN A 172.16.10.30; ns IN A 172.16.10.30
root@ns:~# 나노 /etc/nsd/desdelinux.fan.zone
$ORIGIN desdelinux.팬. $TTL 3H @ IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. ( 1; 직렬 1D; 1H 새로 고침; 1W 재시도; 3H 만료) ; 최소 또는 ; 네거티브 캐싱 TTL(Time to Live) ; @ IN NS ns.desdelinux.팬. @ IN MX 10 이메일.desdelinux.팬. @ IN TXT "v=spf1 a:mail.desdelinux.fan -all" ; ; 발굴 쿼리를 해결하려면 등록하세요. desdelinux.fan @ IN A 172.16.10.10 ; ns IN A 172.16.10.30 메일 IN CNAME desdelinux.팬. CNAME에서 채팅 desdelinux.팬. www IN CNAME desdelinux.팬. ; ; XMPP와 관련된 SRV 레코드
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.팬.
_xmpp-client._tcp IN SRV 0 0 5222 desdelinux.팬.
_jabber._tcp IN SRV 0 0 5269 desdelinux.팬.
root @ ns : ~ # nano /etc/nsd/10.16.172.arpa.zone
$ ORIGIN 10.16.172.in-addr.arpa.
$TTL 3H @ IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. ( 1; 직렬 1D; 1H 새로 고침; 1W 재시도; 3H 만료) ; 최소 또는 ; 네거티브 캐싱 TTL(Time to Live) ; @ IN NS ns.desdelinux.팬. ; 30 IN PTR 번호.desdelinux.팬. 10인 PTR desdelinux.팬.
root@ns:~# nsd-checkzone desdelinux.fan /etc/nsd/desdelinux.fan.zone
지역 desdelinux.팬은 괜찮아요
루트 @ ns : ~ # nsd-checkzone 10.16.172.in-addr.arpa /etc/nsd/10.16.172.arpa.zone
zone 10.16.172.in-addr.arpa는 정상입니다 # Debian에서 NSD는 기본적으로 활성화 된 설치를 종료합니다.
root @ ns : ~ # systemctl restart nsd
root @ ns : ~ # systemctl 상태 nsd
● nsd.service-이름 서버 데몬로드 됨 :로드 됨 (/lib/systemd/system/nsd.service; 활성화 됨) 활성 : Sun 2017-04-30 09:42:19 EDT 이후 활성 (실행 중). 21 분 전 메인 PID : 1230 (nsd) CGroup : /system.slice/nsd.service ├─1230 / usr / sbin / nsd -d -c /etc/nsd/nsd.conf ├─1235 / usr / sbin / nsd- d -c /etc/nsd/nsd.conf └─1249 / usr / sbin / nsd -d -c /etc/nsd/nsd.conf
ns.fan 서버 자체에서 확인
root@ns:~# 호스트 desdelinux.팬 desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. root@ns:~#hostmail.desdelinux.팬 메일.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬. desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. root@ns:~#hostchat.desdelinux.팬 잡담.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬. desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. root@ns:~#호스트 www.desdelinux.팬 WWW.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬. desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. root@ns:~# 호스트 ns.desdelinux.팬 NS.desdelinux.fan의 주소는 172.16.10.30입니다. 루트 @ ns : ~ # 호스트 172.16.10.30 30.10.16.172.in-addr.arpa 도메인 이름 포인터 ns.desdelinux.팬. 루트 @ ns : ~ # 호스트 172.16.10.10 10.10.16.172.in-addr.arpa 도메인 이름 포인터 desdelinux.팬. root @ ns : ~ # 호스트 ns.fan ns.fan의 주소는 172.16.10.30입니다.
인터넷에서 이름 확인 확인
- 도메인 이름 확인의 올바른 작동은 네트워크의 올바른 작동에 크게 좌우되기 때문에 상세한 DNS 쿼리는 너무 많지 않습니다..
DNS 쿼리를 수행하기 위해 스위치에 연결했습니다. 스위치 테스트, IP가있는 노트북 172.16.10.250 및 게이트웨이 172.16.10.1, 내 워크 스테이션에 해당하는 IP 주소 시스템 관리자.desdelinux.팬 이전 기사에서 알려진대로.
산드라 @ 노트북 : ~ $ sudo ip addr show 1 : 무엇 : mtu 16436 qdisc noqueue state UNKNOWN 링크 / 루프백 00 : 00 : 00 : 00 : 00 : 00 brd 00 : 00 : 00 : 00 : 00 : 00 inet 127.0.0.1/8 scope host lo inet6 :: 1/128 scope host valid_lft 영원히 preferred_lft 영원히 2 : eth0 : mtu 1500 qdisc pfifo_fast state UP qlen 1000 링크 / 이더 00 : 17 : 42 : 8e : 85:54 brd ff : ff : ff : ff : ff : ff inet 172.16.10.250/24 brd 172.16.10.255 글로벌 범위 eth0 inet6 fe80 : : 217 : 42ff : fe8e : 8554/64 범위 링크 valid_lft forever preferred_lft forever 3 : wlan0 : mtu 1500 qdisc noop 상태 DOWN qlen 1000 링크 / 이더 00 : 1d : e0 : 88:09 : d5 brd ff : ff : ff : ff : ff : ff 4 : pan0 : mtu 1500 qdisc noop 상태 DOWN 링크 / ether de : 0b : 67 : 52 : 69 : ad brd ff : ff : ff : ff : ff : ff 산드라 @ 노트북 : ~ $ sudo route -n 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 메트릭 참조 Iface 사용 0.0.0.0 172.16.10.1 0.0.0.0 UG 0 eth0 0 0 172.16.10.0 U 0.0.0.0 eth255.255.255.0 산드라 @ 노트북: ~ $ cat /etc/resolv.conf 네임 서버 172.16.10.30 sandra@노트북:~$host desdelinux.팬 desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. 산드라 @ 노트북:~$호스트메일.desdelinux.팬 메일.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬. desdelinux.fan의 주소는 172.16.10.10입니다. desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬. 산드라 @ 노트북:~$ 호스트 ns.desdelinux.팬 NS.desdelinux.fan의 주소는 172.16.10.30입니다. 산드라 @ 노트북 : ~ $ 호스트 172.16.10.30 30.10.16.172.in-addr.arpa 도메인 이름 포인터 ns.desdelinux.팬. 산드라 @ 노트북: ~ $ 호스트 172.16.10.10 10.10.16.172.in-addr.arpa 도메인 이름 포인터 desdelinux.팬. sandra@laptop:~$ 호스트 -t SRV _xmpp-server._tcp.desdelinux.팬 _xmpp-서버._tcp.desdelinux.fan에는 SRV 레코드 0 0 5269가 있습니다. desdelinux.팬. 산드라 @ 노트북:~$ 호스트 -t SRV _xmpp-client._tcp.desdelinux.팬 _xmpp-클라이언트._tcp.desdelinux.fan에는 SRV 레코드 0 0 5222가 있습니다. desdelinux.팬. 산드라 @ 노트북:~$ 호스트 -t SRV _jabber._tcp.desdelinux.팬 _jabber._tcp.desdelinux.fan에는 SRV 레코드 0 0 5269가 있습니다. desdelinux.팬. 산드라 @ 노트북 : ~ $ 호스트-팬. "팬"시도 ;; ->> HEADER <<-opcode : QUERY, 상태 : NOERROR, ID : 57542 ;; 플래그 : qr aa rd; 쿼리 : 1, 답변 : 3, 권한 : 0, 추가 : 1 ;; 질문 섹션 :; 팬. 아무거나 ;; 답변 섹션 : 팬. 10800 IN SOA ns. 팬. root.fan. 1 86400 3600 604800 10800 팬. 10800 IN NS ns. 팬. 부채. 10800 IN A 172.16.10.30 ;; 추가 섹션 : ns.fan. 10800 IN A 172.16.10.30 111ms에서 172.16.10.30 # 53에서 0 바이트 수신
- 우리는 의도적으로 주소를 설정했습니다. 172.16.10.250 랩톱에서 DNS AXFR 쿼리를 통해 모든 것을 확인합니다. 영역이 해당 IP에서이 유형의 쿼리를-암호없이-허용하도록 구성되었으므로.
sandra@laptop:~$ 파기 desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u6-데비안 <<>> desdelinux.팬 axfr ;; 전역 옵션: +cmd
desdelinux.팬. 10800 IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. 1 86400 3600 604800 10800
desdelinux.팬. 10800 IN NS 번호.desdelinux.팬.
desdelinux.팬. 10800 IN MX 10 이메일.desdelinux.팬.
desdelinux.팬. 10800 IN TXT "v=spf1 a:mail.desdelinux.팬 -모두"
desdelinux.팬. 10800 IN A 172.16.10.10 _jabber._tcp.desdelinux.팬. 10800 SRV 0 0 5269 desdelinux.팬. _xmpp-클라이언트._tcp.desdelinux.팬. 10800 SRV 0 0 5222 desdelinux.팬. _xmpp-서버._tcp.desdelinux.팬. 10800 SRV 0 0 5269 desdelinux.팬. 채팅.desdelinux.팬. CNAME의 10800 desdelinux.팬. 이메일.desdelinux.팬. CNAME의 10800 desdelinux.팬. ns.desdelinux.팬. 10800 IN A 172.16.10.30 www.desdelinux.팬. CNAME의 10800 desdelinux.팬.
desdelinux.팬. 10800 IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. 1 86400 3600 604800 10800 ;; 쿼리 시간: 0msec ;; 서버: 172.16.10.30#53(172.16.10.30) ;; 일시: 30년 10월 37일 일요일 10:2017:13 EDT ;; XFR 크기: 레코드 1개(메시지 428, 바이트 XNUMX)
산드라 @ 노트북 : ~ $ dig 10.16.172.in-addr.arpa axfr
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> 10.16.172.in-addr.arpa axfr ;; 전역 옵션: +cmd 10.16.172.in-addr.arpa. 10800 IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. 1 86400 3600 604800 10800 10.16.172.in-addr.arpa. 10800 IN NS 번호.desdelinux.팬. 10.10.16.172.in-addr.arpa. PTR의 10800 desdelinux.팬. 30.10.16.172.in-addr.arpa. 10800 IN PTR 번호.desdelinux.팬. 10.16.172.in-addr.arpa. 10800 IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. 1 86400 3600 604800 10800 ;; 쿼리 시간: 0msec ;; 서버: 172.16.10.30#53(172.16.10.30) ;; 일시: 30년 10월 37일 일요일 27:2017:5 EDT ;; XFR 크기: 레코드 1개(메시지 193, 바이트 XNUMX)
산드라 @ 노트북:~$ ping ns.desdelinux.팬
핑 번호desdelinux.fan (172.16.10.30) 56(84)바이트의 데이터입니다.
필요한 DNS 쿼리가 올바르게 응답되었습니다. 또한 Shorewall이 올바르게 작동하고 허용하지 않는지 확인합니다. 핑 인터넷에 연결된 컴퓨터에서.
개요
- NSD를 기반으로하는 Authoritative DNS 서버를 기본 및 최소 옵션으로 설치하고 구성하는 방법을 살펴 보았습니다. 영역 파일의 구문이 BIND의 구문과 매우 유사한 지 확인합니다. 인터넷에는 NSD에 대한 매우 훌륭하고 완전한 문헌이 있습니다.
- XMPP와 관련된 SRV 레코드의 선언을 표시하는 목표를 달성했습니다.
- Shorewall 기반 방화벽의 설치 및 최소 구성을 지원합니다.
다음 배송
Prosody IM 및 로컬 사용자.