'전체 보기'에 해당되는 글 186건
- 2015.05.07 [26] DNS 라운드 로빈
- 2015.05.07 [25] DNS Server 생성, DNS 주영역, 별칭(CNAME), 이중화 및 연습문제
- 2015.05.07 [24] DNS Service
- 2015.05.07 WiFi 네트워크 카드를 Hyper-V 의 네트워크 카드로 활용하기
- 2015.05.07 [23] 가상 사설망 (VPN) 구축 실습
- 2015.05.07 [22] 가상 사설망(VPN) 구축
- 2015.05.07 [21] Windows Server의 장점, 실습 환경 구축
- 2015.05.07 로드밸런서, 오픈 소스 로드 밸런서 HAProxy == 메모
- 2015.05.06 Win8.1 K(N), PRO K(N) 정식 ISO 파일 다운로드 및 부팅USB 만들기
- 2015.04.26 Linux WebServer Directory List 출력(with php)
'Study > WinServer' 카테고리의 다른 글
[28] DHCP, DHCP 다중망 (0) | 2015.05.07 |
---|---|
[27] DNS 라운드 로빈 실습 (0) | 2015.05.07 |
[25] DNS Server 생성, DNS 주영역, 별칭(CNAME), 이중화 및 연습문제 (0) | 2015.05.07 |
[24] DNS Service (0) | 2015.05.07 |
[23] 가상 사설망 (VPN) 구축 실습 (0) | 2015.05.07 |
- 2015.02.09
1. DNS Server 만들기
서버관리자 - 역할 - 역할 추가 - DNS 역할 추가
시작 - 관리도구 - DNS
정방향 조회 : 도메인 질의에 대해 IP로 대답
역방향 조회 : IP 질의에 대해 도메인으로 대답
[설정]
정방향 조회 영역 오른클릭 - 새영역 - 주영역 - naver.com(실습이니까) - 다음 - 동적 업데이트 허용 안함 - 완료
naver.com 하위 메뉴 들어가 화면 우클릭 - 새 호스트 - 호스트 : www, IP - 100.100.100.110 - 확인
역방향 조회 영역 오른클릭 - 새영역 - 주영역 - IPv4 - 100.100.100. - 다음 - 동적 업데이트 허용 안함 - 확인
naver.com 하위 메뉴 들어가 화면 우클릭 - 새 PTR - 호스트IP : 100.100.100.110, 호스트이름 : www.naver.com - 확인
[DNS 주영역 문제]
1. Server1에 DNS 역할 추가
2. DNS 서버 설정
- 첫번째 정방향 조회 영역
) 영역 이름 : ddasig.com
) A 레코드 : 본인 영문 성(예:lee) 100.100.100.120
- 두번째 정방향 조회 영역
) 영역 이름 : itbank.com
) A 레코드 : test , 100.100.100.130
- 역방향 조회 영역
) 영역 이름 : 100.100.100
) PTR 레코드 : 100.100.100.120
) PTR 레코드 : 100.100.100.130
=========확인 방법==========
Client1에서 nslookup
ping
1.lee.ddasig.com
2.test.itbank.com
[DNS 별칭(CNAME) 문제]
1. Server1에 DNS 서버 역할 추가
2. DNS 설정
- "본인이름".com이라는 도메인 생성
- A 레코드 : zzang (100.100.100.120)
- CNAME 레코드 : ftp(A 레코드로 매핑)
- CNAME 레코드 : www(A 레코드로 매핑)
- CNAME 레코드 : ssh(A 레코드로 매핑)
3. Client1에서 DNS 설정 후
NSLOOKUP 및 PING으로
zzang."본인이름".com
ftp."본인이름".com
www."본인이름".com
ssh."본인이름".com
테스트
ping 했을시 100.100.100.120으로 ping가면 성공
2. DNS Server의 이중화
DNS Server가 다운되었을 때 이중화가 되어 있지 않다면 곤란한 상황에 처하게 된다.
따라서 보조영역을 추가하여 DNS Server의 내결함성을 만들고 부하를 줄일 수 있다.
(With DHCP Server : 기본 및 보조 DNS Server를 교차하여 배정)
[설정]
Server1 에서 보조 영역 만들 영역 우클릭 - 속성 - 영역 전송 - 다음 서버로만 - 편집 - Server2 의 IP 입력
Server2 에도 DNS 역할 추가
정방향 우클릭 - 새 영역 - 보조영역 - 복사할 주영역이름 입력 - Server1 의 IP 입력 - 마침
조금 시간이 지나면 복사가 완료 된다.
[DNS 이중화 문제]
'Study > WinServer' 카테고리의 다른 글
[27] DNS 라운드 로빈 실습 (0) | 2015.05.07 |
---|---|
[26] DNS 라운드 로빈 (0) | 2015.05.07 |
[24] DNS Service (0) | 2015.05.07 |
[23] 가상 사설망 (VPN) 구축 실습 (0) | 2015.05.07 |
[22] 가상 사설망(VPN) 구축 (0) | 2015.05.07 |
- 2015.02.06
DNS Service
네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IT 네트워크 서비스
=> 이론 : http://kanziw.com/83 참조
[DNS 레코드 종류]
SOA (Start Of Authority) : DNS zone의 기본 이름 식별, 시작점
A (Host Record) : 호스트 이름이 정의된 주 영역
CNAME (Alias Record) : 별칭
MX (Mail Exchange Record) : E-mail 서버에서 이용
'Study > WinServer' 카테고리의 다른 글
[26] DNS 라운드 로빈 (0) | 2015.05.07 |
---|---|
[25] DNS Server 생성, DNS 주영역, 별칭(CNAME), 이중화 및 연습문제 (0) | 2015.05.07 |
[23] 가상 사설망 (VPN) 구축 실습 (0) | 2015.05.07 |
[22] 가상 사설망(VPN) 구축 (0) | 2015.05.07 |
[21] Windows Server의 장점, 실습 환경 구축 (0) | 2015.05.07 |
노트북에서 Hyper-V를 이용하려고 하면 유선 랜도 이용하겠지만 외부에서 작업 시 무선 랜카드를 이용해야 한다.
이 때, 무선 랜카드를 바로 외부 네트워크 아답터로 잡으면 작동이 제대로 되지 않는다.
그래서 무선 랜카드를 유선 랜카드로 인식시키는 아래와 같은 작업이 필요하다.
1. Hyper-V 의 가상 스위치 관리자에서 내부용으로 ExternalWiFi 네트워크 아답터를 추가
2. PC의 네트워크 연결 보기에 들어가 WiFi 네트워크 속성에 진입
3. 공유 탭 - 다른 네트워크 사용자가 이 컴퓨터의 인터넷 연경를 통해 연결할 수 있도록 허용 체크 후 Hyper-V 에서 만든 네트워크 카드 선택
4. Hyper-V 가상 머신에서 해당 네트워크 카드를 사용
'Windows > WinServer' 카테고리의 다른 글
Ubuntu 실습을 위한 Hyper-V 셋팅 - Ubuntu Server 버전 백업 (0) | 2015.05.07 |
---|---|
GPO 정책 적용 확인 (0) | 2015.04.09 |
Group Policy Management 예제 (0) | 2015.03.27 |
Active Directory 계정 (0) | 2015.03.26 |
Active Directory 소개 및 설치 (0) | 2015.03.26 |
- 2015.02.05
[가상 사설망(VPN) 구축 문제 해설 보완]
[Tip]
1) Server1 - VM1(100점대, Gateway 설정 필요), VM2(20점대) 연결 및 라우팅 및 원격액세스 역할 추가하여 셋팅
2) Server2 - VM2(20점대), 파일서비스 역할 추가 및 보고서 발생하도록 설정 - 계정 생성
3) Client1 - VM3(30점대, Gateway 설정 필요)
4) GNS3 - Router 설정
5) C:\StorageReports\Incident 에서 보고서 확인 가능
6) 라우팅 및 원격액세스 역할 추가 하면 Server1 로의 ping 통신이 되지 않는다. 하지만 VPN 은 연결된다. (왜?)
7) 라우팅 및 원격액세스 마법사 중 선택해야 할 인터페이스는 외부와 연결되어 있는 인터페이스 선택, ip 구간은 접속할 대역대의 ip 설정
8) Server1 에서 VPN 으로 붙을 계정 생성 후 속성에서 원격액세스 허용 해야 함.
9) Server2 에서의 공유 권한을 정확히 확인하려면 Client1과 Server2의 계정 중 같은 세션이 존재하면 안됨.
'Study > WinServer' 카테고리의 다른 글
[25] DNS Server 생성, DNS 주영역, 별칭(CNAME), 이중화 및 연습문제 (0) | 2015.05.07 |
---|---|
[24] DNS Service (0) | 2015.05.07 |
[22] 가상 사설망(VPN) 구축 (0) | 2015.05.07 |
[21] Windows Server의 장점, 실습 환경 구축 (0) | 2015.05.07 |
[20] 실전문제, DNS 라운드 로빈 (0) | 2015.04.09 |
- 2015.02.04
[Host-only 네트워크 설정]
Server1, Server2, Client1 의 네트워크 설정을 host-only 로 변경
각각 100.100.100.110, 120, 130 / 24 로 ip 설정
스냅샷
1. 가상 사설망 구축
DMZ망 : 내/외부에서 모두 접속 가능한 망
내부망 : 직원들이 근무하는 망
외부에서 내부 망에 있는 파일서버를 접속하려면 VPN 이라는 가상 사설망이 필요하다.
(가설 사설망 : 내부망 안에 있는 것처럼 만드는 기술)
VPN 서버의 조건
1) DMZ 망에 존재
2) 2개 이상의 NIC 필요 (내부망 + 외부망)
[Server]
NIC 추가
서버관리자 - 역할 추가 - 네트워크 정책 및 액세스 서비스 - 라우팅 및 원격 액세스 서비스 선택 - 설치
시작 - 관리도구 - 라우팅 및 원격 액세스 - 호스트네임 우클릭 - 라우팅 및 원격 액세스 사용 - VPN 액세스 및 NAT
- VPN 요청 들어오게 되는 인터페이스 선택 - 지정한 주소 범위에서 - 주소 범위 할당 - 아니오 - 마침
VPN 사용 위해 사용할 계정 생성 - 계정 속성 - 전화 접속 로그인 - 액세스 허용 체크 - 확인
[Client]
네트워크 연결 보기 - 새 연결 - 회사에 연결 - 내 인터넷 연결 사용 - 나중에 인터넷 연결 설정 - VPN 서버 주소 입력
- VPN 사용 계정 정보 입력 - 마침
[가상 사설망 구축 문제]
[Tip]
1) Server1 - VM1(100점대, Gateway 설정 필요), VM2(20점대) 연결 및 라우팅 및 원격액세스 역할 추가하여 셋팅
2) Server2 - VM2(20점대), 파일서비스 역할 추가 및 보고서 발생하도록 설정
3) Client1 - VM3(30점대, Gateway 설정 필요)
4) Router 설정
5) C:\StorageReports\Incident 에서 보고서 확인 가능
'Study > WinServer' 카테고리의 다른 글
[24] DNS Service (0) | 2015.05.07 |
---|---|
[23] 가상 사설망 (VPN) 구축 실습 (0) | 2015.05.07 |
[21] Windows Server의 장점, 실습 환경 구축 (0) | 2015.05.07 |
[20] 실전문제, DNS 라운드 로빈 (0) | 2015.04.09 |
[19] GNS 이용한 통신 설정 (0) | 2015.04.09 |
- 2015.02.03
시스템 - 하드웨어의 집합
ex) Windows, Linux, Unix 등
Windows의 가장 큰 장점 - 기술지원
유료 구매이기 때문에 제조사로부터 무료 기술지원을 받을 수 있다.
1. 실습 환경 구축
[Vmware Workstation 10]
Naver 검색 후 제조사 들어가서 다운로드.
Serial 은 Google 검색
[FileZilla]
파일 - 사이트 관리자
- 일반 - 호스트, 포트 등의 정보 기재
- 문자셋 - UTF-8로 강제 설정 - 연결
[Winserver 2008 R2 Install on VMware10]
Custom - iso image 선택
- 계정 : Administrator
- Ram : 1G
- Network : Bridge
- disk : 15g & single disk
- 설치
Server1, Server2, Client1 총 3개 설치
[서버 간 Ping 통신 가능토록 설정]
시작 - 고급 보안이 포함된 Windows 방화벽 - 인바운드 규칙 - 파일 및 프린터 공유(에코요청 - ICMPv4-in) 규칙 사용
[Tip - 아웃바운드 방화벽 사용 예]
카카오톡, 네이버 접속 등을 차단하기 위해 아웃바운드 정책을 사용한다.
[hostname 변경]
cmd - hostname 하면 현재 자신의 hostname 확인 가능
컴퓨터 - 속성 - 설정 변경 - 변경 - 컴퓨터 이름 변경 후 컴퓨터 재시작
'Study > WinServer' 카테고리의 다른 글
[23] 가상 사설망 (VPN) 구축 실습 (0) | 2015.05.07 |
---|---|
[22] 가상 사설망(VPN) 구축 (0) | 2015.05.07 |
[20] 실전문제, DNS 라운드 로빈 (0) | 2015.04.09 |
[19] GNS 이용한 통신 설정 (0) | 2015.04.09 |
[17] 원격 server 로그 보기, DHCP 릴레이 실전 문제 (0) | 2015.04.09 |
- 2015.02.04
L4/L7 스위치의 대안, 오픈 소스 로드 밸런서 HAProxy
http://helloworld.naver.com/helloworld/textyle/284659
소개 ~ 설치 ~ Test
http://tagnee.tistory.com/25 - 소개
http://tagnee.tistory.com/26 - haproxy 설치
http://tagnee.tistory.com/27 - pacemaker 설치
http://tagnee.tistory.com/28 - Failover Test
'Network' 카테고리의 다른 글
L2, L3, L4, L7 Switch에 대한 고찰 (0) | 2015.04.09 |
---|
인터넷에 떠도는 정체모를 ISO파일이 아닌 WIndows에서 제공하는 ISO파일로 Win8을 새로 설치할 수 있다.
http://windows.microsoft.com/en-us/windows-8/create-reset-refresh-media
여기에서 Create media를 눌러 다운받아지는 프로그램을 통하면 손쉽게 가능하다.
언어 및 버전 선택 후 Next를 누르면 ISO파일로 다운받을지, 부팅USB로 만들지에 대한 선택 화면이 나온다.
부팅USB를 만들 경우, 4gb 이상의 USB로 생성 가능하다.
* 일반 버전 vs Pro
개인 사용자에겐 큰 차이 없으나 몇가지 제약이 있다.
내게 제약으로 느껴진 것만 적어보자면 '원격 데스크톱 연결', 'Hyper-V' 사용 불가하다는 것.
* K vs KN
KN은 Windows에서 끼워팔던 Windows Media Player 등이 빠져있는 버전이다.
나의 경우 원래 WMP나 Windows 기본 메신져는 사용하지 않기 때문에 KN으로 설치하였다.
* Win 8 라이센스로 Win 8.1 설치
설치 화면에선 Win 8 라이센스로 Win 8.1 설치가 되지 않는다고 한다.
이럴 땐 ISO파일 source 디렉터리 안에 ei.cfg 파일을 아래처럼 작성해 넣어 설치 시 라이센스 인증을 회피할 수 있다.
설치가 완료된 후 Windows 상에서는 Win 8 라이센스로 인증이 가능하다.
[EditionID]
[Channel]
Retail
[VL]
0
'Windows' 카테고리의 다른 글
ConEmu (0) | 2015.08.27 |
---|---|
GPT에 EFI & USB 3.0 으로 Windows7 설치 (0) | 2015.06.04 |
1. 제작 동기
java 수업의 강사님께서는 hfs라는 프로그램을 이용하여 WebFileServer를 구축하셔서 파일을 공유하셨다.
해당 프로그램의 모든 기능을 구현하기란 아직 내 실력으로 힘들겠지만
디렉터리 이동 및 개별파일 다운로드 기능 구현은 할만하다고 생각되어 도전해보았고 어느정도 구현하였다.
2. 구현 환경
리눅스 가상머신을 설치하여 Apache, php가 설치된 리눅스 웹서버에서 동작하는 환경을 구축하였다.
(내가 구축한 소스는 리눅스 웹서버에서만 동작한다.)
1) Apache 설정
기존 /var/www/html 에는 구동중인 웹서버가 있기 때문에 다른 공간이 필요했다.
그래서 선택한 것은 Apache에서 제공하는 UserDir 기능이다.
UserDir기능은 http://Serverip/~Username 의 경로에 각 사용자별 웹서버를 띄우는 기능이다.
# vi /etc/httpd/conf/httpd.com
# 특정 사용자만 UserDir 사용하도록 설정
366 UserDir disabled
367 UserDir enabled username
# 사용자 홈 디렉터리 밑에 사용할 Web Root Directory
374 UserDir public_html
# /home/*/public_html 에 적용되는 Apache세부 설정
382 <Directory /home/*/public_html>
...
# Options 에서 Indexes를 설정하면 내가 구현한 정도의 기능은 자동으로 구현된다.
384 Options -Indexes
# index.php가 아닌 숨김파일을 index page로 설정
385 DirectoryIndex .....list.php
...
# 다른 기타 설정은 개인의 취향에 맞게 설정
394 </Directory>
httpd 재시작
# service httpd restart
2) 사용자 홈 디렉터리 설정
사용자 홈 디렉터리에 웹 루트 디렉터리 생성 및 외부에서 접근 가능하도록 권한 설정
# cd ~username
# mkdir public_html/
# chmod o+x public_html/
3) 개발 툴
Editplus를 사용하였으며, FTP 설정을 해주면 실시간으로 업로드하여 결과를 확인할 수 있다.
구지 FTP를 연동하여 실시간 업로드를 설정한 이유는 리눅스에 명령어를 입력하여 파싱해왔기 때문이다.
3. 구현 코드
문법적 오류가 다분한 영어로 주석을 달아놓았다.
(다운로드하여 리눅스 웹서버에 올려놓고 직접 확인하면서 보면 좋을것 같다.
<!--
@ Copyright : Jiwoong Jung
@ E-mail : kanziwoong@gmail.com
-->
<?php
// For Index where title and body
// 1. Execute "pwd" command and Get result to $pwdExecc
// 2. Explode $pwdExecc with "/" and Save result to $curPathArr
// 3. In Linux Server, web root directory is located in /home/$USERNAME/public_html/
// So conceal "/home/$USER/public_html" through rearrangement to $curPathArr.
$curPathArr = explode("/", exec("pwd", $pwdExecc, $er));
$curPath = "/";
for ($i=0;$i<count($curPathArr)-4 ;$i++ ) {
$curPath = "$curPath".$curPathArr[$i+4]."/";
}
?>
<html>
<head>
<title>Index of <?php echo "$curPath"; ?></title>
<!-- CSS from http://ftp.kaist.ac.kr/CentOS/ -->
<style type="text/css">
a, a:active {text-decoration: none; color: blue;}
a:visited {color: #48468F;}
a:hover, a:focus {text-decoration: underline; color: red;}
body {background-color: #F5F5F5;}
h2 {margin-bottom: 12px;}
table {margin-left: 12px;}
th, td {font: 90% monospace; text-align: left;}
th {font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
td {padding-right: 14px;}
td.s, th.s {text-align: right;}
div.list {background-color: white; border-top: 1px solid #646464; border-bottom: 1px solid #646464; padding-top: 10px; padding-bottom: 14px;}
div.foot {font: 90% monospace; color: #787878; padding-top: 4px;}
</style>
</head>
<body>
<h2>Index of <?php echo "$curPath"; ?></h2>
<div class="list">
<table summary="Directory Listing" cellpadding="0" cellspacing="0">
<thead><tr><th class="n">Name</th><th class="m">Last Modified</th><th class="s">Size</th><th class="t">Type</th></tr></thead>
<tbody>
<?php
// If $cupPath != "/", print Parent Directory Link
if ($curPath!="/"){
?>
<tr>
<td class="n"><a href="../">Parent Directory/</a></td>
<td class="m"></td>
<td class="s">-</td>
<td class="t">Directory</td>
</tr>
<?php
}
?>
<tr>
<?php
// For save parameter for print table
// 1. Execute "ls -l" command and Get result to $output
exec("ls -l ./", $output, $error);
// 2. Seperate $output per line to $val
while(list($key, $val) = each($output)) {
// 3. ls -l command prints "total Size", so except this.
if ($key!=0) {
// 4. Seperate $val by space and save this to $rst
$rst = explode(" ", $val);
// 5. Some $rst array has NULL value, so rearray to rstTrue
$j=0;
for ( $i=0 ; $i<count($rst) ; $i++)
{
if ($rst[$i]){
$rstTrue[$j]=$rst[$i];
$j++;
}
}
// 6. Mark FILENAME, SIZE and DATE parameter
$FILENAME = $rstTrue[8];
$SIZE = $rstTrue[4];
$DATE = "$rstTrue[5]"." $rstTrue[6]"." $rstTrue[7]";
// 7. Mark Directory PROPERTY parameter
if (substr($rstTrue[0], 1)=="d"){
$PROPERTY = "Directory";
}
// 8. Mark Application PROPERTY parameter
else if (substr($rstTrue[0], 4, 1)=="x" || substr($rstTrue[0], 7, 1)=="x" || substr($rstTrue[0], -1)=="x"){
$PROPERTY = "application";
// 9. Mark Additional Application PROPERTY parameter
if (substr($rstTrue[0], -6)=="tar.gz")
$PROPERTY = "$PROPERTY"."/tar.gz";
}
// 10. with else if, we can set more PROPERTY parameter
else $PROPERTY = "text/plain";
?>
<td class="n"><a href="./<?php echo "$FILENAME" ?>"><?php echo "$FILENAME" ?></a></td>
<td class="m"><?php echo "$DATE" ?></td>
<td class="s"><?php echo "$SIZE" ?></td>
<td class="t"><?php echo "$PROPERTY" ?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
</div>
<div class="foot">Copyright Jiwoong Jung</div>
</body>
</html>
4. 단점 및 추가/개선해야할 점
가장 큰 단점은 .....list.php 파일을 생성되는 모든 디렉터리 안에 넣어줘야 한다는 것이다.
디렉터리가 생성 될 떄마다 위 파일을 넣어주는 것이 여간 귀찮은 일이 아닐 것이다.
또한 이 코드는 Linux환경에서만 유효하다.
나는 CentOS6.6 인데 다른 배포판, 혹은 다른 버젼은 안될 수도 있다.
하지만 리눅스 환경이라면 코드를 조금만 수정 하면바로 적용 가능할 것이다.
가능하다고 생각되어 지는 추가 기능으로는 버튼을 눌렀을 때 디렉터리 째로 압축되는 기능이다.
하지만 .....list.php의 존재 때문에 모든 하위디렉터리까지는 힘들것 같다.
혹 .....list.php를 모든 디렉터리에 넣어야 하는 단점이 극복된다면 하위디렉터리까지도 압축 가능하다.
개선해야할 점으론 디렉터리 링크 클릭 시에는 디렉터리간 이동이,
비 디렉터리 파일 클릭 시에는 파일 다운로드가 진행되어야 하는데 html, php 등의 파일이 업로드 되어있으면 다운로드가 되지 않는다.
<a> 태그에 download를 기입하면 다운로드 창이 뜬다고는 하는데 알 수 없는 이유로 구현 실패했다.
Directory가 아니면 download를 <a>태그에 추가하는 기능이었는데 구현 실패했다.
'Language > PHP' 카테고리의 다른 글
<?php ?> 와 <? ?> 차이 (0) | 2015.10.05 |
---|