레이블이 windows인 게시물을 표시합니다. 모든 게시물 표시
레이블이 windows인 게시물을 표시합니다. 모든 게시물 표시

2012-11-09

windows 7 에서 글꼴 설치하기


Windows 7 에서 글꼴을 추가적을 설치할 경우 아래 절차로 하면 된다.

1. 설치하고자 하는 글꼴을 선택
2. 마우스 오른쪽 버튼 클릭
3. 설치 선택.
4. 설치 진행 사항 확인.
5. 글꼴 설치 확인
    %system%\windows\fonts\ 디렉토리에 설치하고자 했던 글꼴 파일이 존재하는지 확인하면 끝.

2012-10-31

java Framework]윈도우에서 톰캣5.0과 아파치2.0 그리고 jk2 연동하는 방법



<<윈도우에서 톰캣5.0과 아파치2.0 그리고 jk2 연동하는 방법   >>


우선 다음과 같은 S/W가 필요하다.
Apache2.0.45
J2SDK 1.4.1_02 (http://httpd.apache.org/download.cgi에서 apache_2.0.46-win32-x86-no_src.msi를 다운로드 )
Jakarta Tomcat4.1.24 (http://jakarta.apache.org/builds/jakarta-tomcat-4.0 /release/v4.1.24/bin/에서 jakarta-tomcat-4.1.24.exe 또는 jakarta-tomcat-4.1.24-LE-jdk14.exe를 다운로드합니다. J2SDK 1.4가 이미 설치되어 있다면 LE 버전만 받으면 됩니다. 그렇지 않다면 jakarta-tomcat-4.1.24.exe를 다운로드)
mod_jk2 (http://jakarta.apache.org/builds/jakarta-tomcat- connectors/jk2/release/v2.0.2/bin/win32/참고 윈도우용 mod_jk2-2.0.43.dll)
필 요한 소프트웨어를 모두 구했으면 각각을 설치한다. 가급적이면 설치는 J2SDK부터 설치하는 것이 좋다. 그 다음 아파치나 톰켓을 차례대로 설치하면 된다. JK2는 아파치 설치 후, modules 디렉토리에 mod_jk2-2.0.43. dll 파일을 복사하면 된다.


환경 설정

1) JAVA_HOME

JDK가 설치된 디렉토리를 JAVA_HOME 이라는 변수이름으로 환경변수에 추가한다. 바탕화면의 '내 컴퓨터'를 선택하고 팝업메뉴를 띄워 등록정보에 들어간 다음 ‘고급→환경변수’를 선택하면 된다. 모든 사용자에 관계없이 JAVA_HOME이 유효하게 하려면 시스템 변수에, 자신의 계정에만 유효하게 하려면 사용자 변수쪽에 추가하면 된다. 변수명은 JAVA_HOME으로 하고 변수값은 JDK를 설치한 디렉토리를 지정해주면 된다(예. C:\J2SDK_1.4.1_01). BIN 디렉토리까지 설정해주는 것이 아님을 기억하자.

JAVA_HOME 변수의 경우는 TOMCAT에서 JSP 컴파일 등을 할 때 사용할 뿐만 아니라 다른 자바관련 툴들(ANT같은)에서도 이 변수를 사용하므로 어떻든 간에 한번은 지정하는 것이 작업에 도움이 될 것이다.

2) CLASSPATH

TOMCAT 에서는 JSP를 컴파일 할 필요가 있을 때 JAVA_HOME에서 설정된 패스를 기준으로 lib 디렉토리를 뒤지거나 CLASSPATH 환경변수 설정을 참고해서 컴파일에 사용할 패키지인 servlet.jar를 찾는다. 따라서 servlet.jar를 $JAVA_HOME/jre/lib/ext 같은 곳에 넣어주거나 servlet.jar가 포함되어 있는 TOMCAT의 $TOMCAT_HOME/lib 디렉토리에 CLASSPATH 설정을 해주면 된다. 환경변수 설정하는 요령은 앞의 JAVA_HOME의 그것과 동일하다.

3) PATH

자바소스 컴파일에는 javac.exe가 사용되기 때문에, 이를 시스템 어디에서나 사용할 수 있도록 환경변수의 PATH에다가 $JAVA_HOME/bin 디렉토리를 추가해주면 된다. 자바프로그래머라면 대부분 이미 추가해 놓았으리라 생각한다.

4) 아파치 환경설정 - httpd.conf 와 workers2.properties

$APACHE/conf 디렉토리에 있는 httpd.conf 파일을 열고, LoadModule 이라고 되어있는 부분들을 찾아서 적당한 줄에다가 다음과 같이 입력한다.
LoadModule jk2_module modules/mod_jk2-2.0.43.dll

그 후에 DocumentRoot 항목을 찾아서 $TOMCAT_HOME/webapps과 같은식으로 지정해준다.
예) DocumentRoot "c:\Program Files\Apache Group\Tomcat 4.1\webapps"

그리고 아래쪽에 있는 Directory 항목 역시 동일하게 수정해준다.
예) <Directory "C:\Program Files\Apache Group\Tomcat 4.1\webapps">

다 끝냈으면 이번에는 workers2.properties를 편집한다. 이 파일은 기본적으로 아파치에 포함되지 않으므로 conf 폴더 내에서 찾을 수가 없다. 따라서 직접 만들어줘야 하는데 $APACHE_HOME/conf에다가 workers.properties 파일을 만들고 다음의 내용을 복사해넣고 저장하면 된다.
# Define the communication channel
[status:]
[uri:/jkstatus/*]
group=status:
[shm:]disabled=1
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# Web Applicaton을 설정
[uri:/examples/*]
info=Map the whole webapp

위 에서 언급한 바와 같이 workers2.properties 파일은 $APACHE/conf에 있어야만 아파치가 읽어들일 수 있기 때문에 특히 파일의 경로에 주의해야 한다. ($TOMCAT_HOME/conf 가 아님)

5) 톰캣 환경설정 - jk2.properties 과 server.xml

$TOMCAT_HOME/conf/jk2.properties 파일을 열고 편집하면 되는데 내용을 잘 모른다면 다음의 셋팅예제를 그대로 복사해 써도 무방하다.
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list
handler.list=apr,channelSocket,request,shm
# Override the default port for the socketChannel
# Set the default port for the channelSocket
channelSocket.port=8009

# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/jk2.shm

# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess

# Dynamic library
serverRoot= "C:/Program Files/Apache Group/Tomcat/webapps "

완료했으면 이번에는 server.xml을 편집한다. $TOMCAT_HOME/conf/server.xml 파일을 열고 아래의 부분을 찾아 주석처리 하거나 삭제한다. 주석처리는 ‘<!-’로 시작해서 ‘->’로 끝내면 된다. 아래부분은 TOMCAT에 포함되어 있는 Coyote 웹서버에 연결하는 커넥터인데, 여기서는 웹서버로 아파치를 사용할 것이므로 필요없다.
<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
-->

위의 내용이 있는 곳에서 조금 아래쪽을 보면 다음과 같은 부분이 있다. org.apache.coyote.tomcat4.CoyoteConnector라는 이름의 Connector가 mod_jk2로 연결할 때 사용하는 부분으로, 아래쪽의 org.apache.ajp.tomcat4.Ajp13Connector가 mod_jk를 사용할 때 쓰는 부분이므로 mod_jk 부분(아래쪽)을 주석 처리하도록 한다.
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="150"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>
-->

서버 구동 확인

톰캣과 아파치를 실행시킨 후 다음의 주소를 입력해 본다.
http://localhost/examples/servlets/index.html
http://localhost/examples/jsp/index.html
제대로 servlet 또는 jsp의 예제 페이지가 나타나고 각 예제들이 올바로 실행된다면 설치가 올바로 이루어진 것이다. 만약 jsp 나 서블릿 파일이 다운로드 된다거나 소스코드가 보인다거나 404 에러 등이 발견되면 어디에선가 셋팅이 잘못된 것이다. 클래스패스의 문제, servlet.jar 패키지의 부재, 잘못된 JDK컴파일러 설치, 설정파일 편집 오류 등 다양한 문제가 있을 수 있다. 아파치의 톰캣의 로그파일과 설치메뉴얼을 보면서 약간의 노력을 더 기울인다면 무난하게 해결 할 수 있을 것이다.

2012-09-16

mail]Microsoft Exchange Server 계정 생성 절차


Microsoft Exchange Server 계정 생성 절차 …
먼저 DNS 서버에서 해당 도메인에 대한 MX 레코드 및 메일서버 호스트 레코드가 제대로 생성이 되었다는 가정하에서 절차를 기술한다.


UPN 설정하기.
익스체인지 서버 도메인 추가
Active Directory 에 도메인에 해당하는 OU 추가하기 ’
OU에 계정 생성하기.

- UPN 설정 하기
UPN 설정은 하나의 익스체인지 서버로 여러 개의 도메인에 해당하는 메일 서비스를 하기위해 AD의 도메인 및 트러스트 MMC 에서 설정할 수 있다.



- 익스체인지 서버의 도메인 추가
1. 시작 -> 프로그램 -> MS Exchange -> System Manager 선택
2. “받는사람 ”-> “받는 사람 정책 ”확장


3. 서비스 하고자 하는 도메인이 없는 경우 마우스 오른쪽 버튼을 눌러 “새로 만들기 ”-> “받는 사람 정책 ”을 실행 한다.





4.전자 메일 주소 정책을 선택하고 속성 윈도우에서 수정 버튼을 누른다.
수정 버튼을 누르면 exchange 받는 사람 찾기에서 고급탭, 필드를 선택후 사용자를 선택하면 그 하위 메뉴로 여러가지가 나오는데 그중 “로그온 이름 ”을 선택한다. 그리고 조건은 “끝”을 선택하고 값에는 추가하고자 하는 도메인을 적으면 된다 …


5.작업을 마친 화면은 아래의 그림과 같다.


위의 그림에서 “확인 


버튼을 누르면 아래의 메시지 창이 뜨게 된다.



메시지 창이 뜬 후 아래에 창에서 해당하는 메일 도메인을 설정한다. 이때 SMTP 유형을 선택한 후 주소를 적을 때, 반드시 “@”기호를 붙여 주어야 한다.




위의 이미지에서 확인 버튼을 누르면 아래와 같은 화면을 볼 수 있다.

이때 주의할 것은 전자메일 주소(정책) 탭에서 SMTP 가 없을 수도 있다, 이때는 “새로 만들기 ”버튼을 눌러 해당하는 도메인을 추가 해주고, 다른 여러 개의 SMTP가 있을 경우 해당하는 도메인의 것만 남겨두고 나머지는 삭제한다.

확인 ”버튼을 누르면 아래와 같은 창이 뜨고, “예”를 눌러 마친다.


6. AD 사용자 및 컴퓨터에서 각 도메인에 관련된 OU 생성하기 
T nge ge -> System Manager


아래에 추가하고자 하는 도메인의 명을 추가한다.




7. AD 사용자 및 컴퓨터에서 사용자 계정 생성하기
이제 추가하고자 하는 OU 까지 생성한 상태에서 각 도메인별 사용자 계정을 추가한다. 이때 각 사용자 계정은 전체 OU를 걸쳐서 중복이 가능하다.(가능하게 할 수 있다.)
여기서는 ncmall.net을 기준으로 삼았다.


위의 그림을 보면 마우스 오른쪽 버튼을 눌러 나오는 화면이다.



위의 그림에서 해당하는 부분을 입력을 한다. 단, 이때 주의할 점은 해당하는 AD에 사용자 로그온 이름은 중복이 되어도 상관이 없지만, “Windows 2000 이전 버전 사용자 로그온 이름 ”부분 이 중복되면 계정이 생성이 되지 않는다. 따라서 해당 하는 부분의 이름을 변경해 준다. 위의 그림에서 journae라는 계정이 이미 있어서 journae_ncmall_net 이라는 이름으로 “Windows 2000 이전 버전 사용자 로그온 이름 ”부분을 대체 했다 .



위의 그림은 사용자 암호 및 기간 설정 화면. 다음을 누른다.



앞서 UPN, OU 등의 생성 작업에서 설정한 것으로 인해, 메일 계정을 만들어 주는데, 해당 OU의 이름으로 만들어 주는 작업이다. “다음 ”을 눌러 계속 진행을 한다.



설정작업을 마친 상태이다. “마침 ”을 눌러 작업을 마친다.

8. 계정 생성 후 확인 작업



방금 생성한 계정의 “속성 ”창을 연다.



해당 계정의 속성 창을 열어 “일반 ”탭의 “전자메일 ”속성을 확인한다. 여기서 사용자는 journae란 계정을 사용하길 원하므로 메일주소를 journae@ncmall.net 으로 수정한다.
그 후, “전자메일주소 ”탭으로 이동한다.


여기서 SMTP 의 주소 부분이 설정한 계정 정보와 일치하는지 확인한다.
그리고 , 만약 계정이 중복이 된다면 위 그림에서 적색 동그라미부분을 체크 해제해야만 한다. 


이걸로 간단하게 나마 메일서버에서 메일 계정 설정 절차 매뉴얼 작성을 마친다.

Network] mrtg nt installation guide - 원문


NAME

mrtg-nt-guide - The Windows Guide to MRTG 2.12.2

SYNOPSIS

Installing MRTG on a Windows box is not quite as ``click and point'' as some might want it to be. But then again, it is not all that difficult if you follow the instructions below.

PREREQUISITS

To get MRTG to work on Windows you need the following:

INSTALLATION

I suggest you do the following from the machine that will be running MRTG, which, in this case, is also a web server. All examples are for doing things to a LOCAL machine.
First
Unzip MRTG to C:\mrtg-2.12.2 on the Windowsmachine of your choice.
Next
Install Perl on the same Windows machine. You might want to make sure that the Perl binary directory is listed in your system path.
           C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...
          
You can manually check this by going to [Control Panel]->[System]->[Environment]
To see if everything is installed properly you can open a Command Shell and go into c:\mrtg-2.12.2\bin. Type:
           perl mrtg
          
This should give you a friendly error message complaining about the missing mrtg configuration file. Now, you have successfully installed mrtg and perl.

CONFIGURING MRTG

Now it is time to create a configuration for mrtg. But before we begin you need to know a few things. Take an opportunity to gather the following information:
  • The IP address or hostname and the snmp port number, (if non standard), of the device you want to monitor.
  • If you want to monitor something other than bytes in and out, you must also know the SNMPOID of what you want to monitor.
  • Finally you need to know the read-only SNMP community string for your device. If you don't know it, try public, that is the default.
For the rest of this document we will be using device 10.10.10.1 ( a CISCO Catalyst 5000) with Community string public. We are interested in monitoring traffic, and the CPU load. Let's begin.
The first thing we do in setting up mrtg is making a default config file. Get to a cmd prompt and change to the c:\mrtg-2.12.2\bin directory. Type the following command:
           perl cfgmaker public@10.10.10.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
          
This creates an initial MRTG config file for you. Note that in this file all interfaces of your router will be stored by number. Unfortunately, these numbers are likely to change whenever you reconfigure your router. In order to work around this you can get cfgmaker to produce a configuration which is based on Ip numbers, or even Interface Descriptions. Check the cfgmaker manpage
If you get an error message complaining about no such name or no response, your community name is probably wrong.
Now, let's take a look at the mrtg.cfg file that was created.
In Perl, a # is a comment, synonymous with REM in DOS.
Add the following to the top of the mrtg.cfg file:
           WorkDir: D:\InetPub\wwwroot\MRTG
          
This is where the web pages are created, usually a web root.
           ######################################################################

           # Description: LCP SUWGB

           # Contact: Administrator

           # System Name: LC-Bridge

           # Location: Here

           #.....................................................................
          
TargetDevice's IP Address:Interface Number:Community:IP Address
           Target[10.10.10.1.1]: 1:public@10.10.10.1
          
This is the interface speed (Default is 10 megabits; for 100Mbit devices use 12500000 and so on...)
           MaxBytes[10.10.10.1.1]: 1250000
          
           Title[10.10.10.1.1]: LC-Bridge (sample.device): ether0
          
This section determines how the web page headers will look
           PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1>

            <TABLE>

            <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

            <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

            <TR><TD>Interface:</TD><TD>ether0(1)</TD></TR>

            <TR><TD>IP:</TD><TD>sample.device(10.10.10.1)</TD></TR>

            <TR><TD>Max Speed:</TD>

            <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

            </TABLE>
          
            Target[10.10.10.1.2]: 2:public@10.10.10.1

            MaxBytes[10.10.10.1.2]: 1250000

            Title[10.10.10.1.2]: LC-Bridge (): ulink0

            PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1>

             <TABLE>

             <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

             <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

             <TR><TD>Interface:</TD><TD>ulink0(2)</TD></TR>

             <TR><TD>IP:</TD><TD>()</TD></TR>

             <TR><TD>Max Speed:</TD>

             <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

             </TABLE>
          
            #---------------------------------------------------------------
          
And that's a very basic mrtg config file. You can run this and see your results by going into the c:\mrtg-2.12.2\bindirectory and typing:
           perl mrtg mrtg.cfg
          
It is normal to get errors for the first two times you run this command. The errors will alert you about the fact that there have not been any log files in existence before.
If you take a look at those web pages they are not very exciting (yet). You need to have the mrtg files run every five minutes to produce the desired results. Just run it again after a few minutes. You should now be able to see the first lines in your graphs.

MAKE MRTG RUN ALL THE TIME

Starting mrtg by hand every time you want to run it is not going to make you happy I guess.
There is a special option you can set in the mrtg configuration file so so that mrtg will not terminate after it was started. Instead it will wait for 5 minutes and then run again.
Add the option
           RunAsDaemon: yes
          
to your mrtg.cfg file and start it with:
           start /Dc:\mrtg-2.12.2\bin wperl mrtg --logging=eventlog mrtg.cfg
          
If you use wperl instead of perl, no console window will show. MRTG is now running in the background. If it runs into problems it will tell you so over the EventLog. To stop MRTG, open the Task Manager and terminate the wperl.exeprocess. If mrtg has anything to tell you these messages can be found in the event log.
If you put a shortcut with
           Target:    wperl mrtg --logging=eventlog mrtg.cfg

           Start in:  c:\mrtg-2.12.2\bin
          
into your startup folder, mrtg will now start whever you login to your NT box.
If you do not want to log into your box just to start mrtg. Have a look at http://www.firedaemon.com/mrtg-howto.htmlwhich describes a free tool to start any program as a Service. The pages gives specific instructions for mrtg users.

HOW TO SETUP MRTG AS A WINDOWS SERVICE

Additional Prerequisites

Preparation

Please complete the following steps before starting the installation:
  • Copy srvany.exe and instsrv.exe to c:\mrtg\bin\ (your MRTG bin directory).
  • Create a file called mrtg.reg anywhere on your system and paste the following content into it:
               Windows Registry Editor Version 5.00
              
               [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]
    
               "Application"="c:\\perl\\bin\\wperl.exe"
    
               "AppParameters"="c:\\mrtg\\bin\\mrtg --logging=eventlog c:\\mrtg\\bin\\mrtg.cfg"
    
               "AppDirectory"="c:\\mrtg\\bin\\"
              

Installation

Once again, assuming that MRTG is already fully installed and configured on the target system under c:\mrtg\ the following steps are necessary to setup MRTG as a service.
Using the command prompt go into the temporary directory where you unzipped the package. When there type the following command to create a service named ``MRTG'' in the Windows Services management console:
           instsrv MRTG c:\mrtg\bin\srvany.exe
          
Now you need to create the App* entries required for the new service. You can do this by either right-clicking on the mrtg.reg file and selecting 'merge' or by running the following command:
           regedit /s mrtg.reg
          
After setting up the registry entry it is time to point it to your MRTG installation. If you have installed MRTG underc:\mrtg\, you can skip this step. Open your registry editor (Start -> Run -> regedt32), and locate the[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG] key. Make sure that theImagePath variable is correctly pointing to srvany.exe located in your MRTG bin directory (for example c:\mrtg\bin\srvany.exe). Next you have to expand the MRTG tree, and go to the[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters] key. Under Parameters make sure that all the Application variables are setup propperly.
At this point you are ready to run the service. The only thing left to do is to start the MRTG service in the Services management console. After you do this, you should see two new processes running on your system: srvany.exe and wperl.exe. Make sure to stop any previously running MRTG processes to avoid confict.
Note that it is imperative to set the RunAsDaemon: yes option or the service will stop after just one single run!

EXAMPLE

Now lets look at a config file to monitor what we wanted to on our mythical Cisco Cat 5000 -- utilization on ports 3, 5, 10, and 24, and the CPU Load, which will show us nonstandard mrtg configurations as well as more options..
           WorkDir: D:\InetPub\wwwroot\MRTG

           RunAsDaemon: yes
          
           ######################################################################

           # Description: LCP SUWGB

           # Contact: Administrator

           # System Name: LC-Bridge

           # Location: Here

           #.....................................................................
          
           Target[10.10.10.1.1]: 3:public@10.10.10.1

           MaxBytes[10.10.10.1.1]: 1250000

           Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0

           PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1>

            <TABLE>

           <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

           <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

           <TR><TD>Interface:</TD><TD>ether0(3)</TD></TR>

           <TR><TD>IP:</TD><TD>sample-device(10.10.10.1)</TD></TR>

           <TR><TD>Max Speed:</TD>

           <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

           </TABLE>
          
           #---------------------------------------------------------------
          
           Target[10.10.10.1.2]: 5:public@10.10.10.1

           MaxBytes[10.10.10.1.2]: 1250000

           Title[10.10.10.1.2]: LC-Bridge (): ulink0

           PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1>

            <TABLE>

            <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

            <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

            <TR><TD>Interface:</TD><TD>ulink0(5)</TD></TR>

            <TR><TD>IP:</TD><TD>()</TD></TR>

            <TR><TD>Max Speed:</TD>

            <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

            </TABLE>
          
           #---------------------------------------------------------------
          
           Target[10.10.10.1.1]: 10:public@10.10.10.1

           MaxBytes[10.10.10.1.1]: 1250000

           Title[10.10.10.1.1]: LC-Bridge (sample-device): ether0

           PageTop[10.10.10.1.1]: <H1>Traffic Analysis for ether0</H1>

            <TABLE>

            <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

            <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

            <TR><TD>Interface:</TD><TD>ether0(10)</TD></TR>

            <TR><TD>IP:</TD><TD>sample-device(10.10.10.1)</TD></TR>

            <TR><TD>Max Speed:</TD>

            <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

            </TABLE>
          
           #---------------------------------------------------------------
          
           Target[10.10.10.1.2]: 24:public@10.10.10.1

           MaxBytes[10.10.10.1.2]: 1250000

           Title[10.10.10.1.2]: LC-Bridge (): ulink0

           PageTop[10.10.10.1.2]: <H1>Traffic Analysis for ulink0</H1>

            <TABLE>

            <TR><TD>System:</TD><TD>LC-Bridge inAndover</TD></TR>

            <TR><TD>Maintainer:</TD><TD>Administrator</TD></TR>

            <TR><TD>Interface:</TD><TD>ulink0(24)</TD></TR>

            <TR><TD>IP:</TD><TD>()</TD></TR>

            <TR><TD>Max Speed:</TD>

            <TD>1250.0 kBytes/s (ethernetCsmacd)</TD></TR>

            </TABLE>
          
           #---------------------------------------------------------------
          
           # Router CPU load %

           Target[cpu.1]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:public@10.10.10.1

           RouterUptime[cpu.1]: public@10.10.10.1

           MaxBytes[cpu.1]: 100

           Title[cpu.1]: CPU LOAD

           PageTop[cpu.1]: <H1>CPU Load %</H1>

           Unscaled[cpu.1]: ymwd

           ShortLegend[cpu.1]: %

           XSize[cpu.1]: 380

           YSize[cpu.1]: 100

           YLegend[cpu.1]: CPU Utilization

           Legend1[cpu.1]: CPU Utilization in % (Load)

           Legend2[cpu.1]: CPU Utilization in % (Load)

           Legend3[cpu.1]:

           Legend4[cpu.1]:

           LegendI[cpu.1]:

           LegendO[cpu.1]: &nbsp;Usage

           Options[cpu.1]: gauge
          
This is a nice example of how to monitor any SNMP device if you know what OID you want to use. Once again, For an explanation of the more advance features of mrtg, please see Tobias's documentation.

AUTHORS

Tobi Oetiker <oetiker@ee.ethz.ch>, David S. Divins <ddivins@moon.jic.com>, Steve Pierce <MRTG@HDL.com>, Artyom Adjemov <one.bofh@gmail.com>, Ilja Ivanov <ivanov@bseu.by> Karel Fajkus <karel@fajkus.cz>
출처 : http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-nt-guide.html

squirrelmail guide 문서


웹메일 사용에 대한 안내


본 서버에서 사용하는 웹메일은 여러분들이 전세계 어느 곳에 있던지 사용할 수 있습니다. 그리고 사용한 컴퓨터에 아무런 정보가 남지 않기 때문에 다른 곳에서 메일을 확인하시고 간단히 보내는 경우 사용할 수 있습니다.
일반적인 웹브라저인 인터넷 익스플로러를 실행한 화면은 다음과 같습니다. 그러면 주소칸에http://mail.pettree.co.kr/squirrelmail/ 을 넣습니다.
다음과 같은 다람쥐가 여러분들을 반길겁니다. 본 서버에서 사용하는 웹 메일 프로그램은 다람쥐 메일이라는 프로그램입니다.
자신의 아이디와 패스워드를 입력하고 로그인을 하십시오.
아무런 설정없이 로그인을 하는 경우 다음과 같은 화면을 볼 수 있습니다. 이 화면에서도 기본적인 것을 사용할 수 있지만 좀더 나은 환경을 만들기 위해서는 조금 수정을 해야 합니다. 현재 왼쪽편에 보이는 화면은 여러분의 유일한 폴더인 받은 편지함입니다. 여기서 여러분이 보낸 메일이나 지운 편지함을 만들어야 합니다.첫번째왼쪽 위의 Folders라는 부분을 클릭합니다.
그러면 다음과 같은 화면이 나오는데 폴더 만들기에서 Trash라고 입력을 하고 만들기를 합니다.
그 다음 Sent라는 폴더를 만듭니다.
두 폴더를 만들고 난 후에는 다음과 같이 폴더 리스트를 갱신한다.
이제 폴더리스트를 보면 좀 전과는 다르게 세 개의 폴더가 생겼다. 이렇게 세 개의 폴더가 생겼지만 아직 보낸 편지함과 지운 편지함으로 사용할 수 없다. 그렇게 사용하기 위해서는 옵션에서 설정을 해 줘야 한다.
다시 오른쪽 위에 옵션 부분을 클릭을 해라.
옵션을 클릭하면 다음과 같은 화면이 나온다. 이 가운데 일단 폴더 설정부분을 클릭을 해라.
폴더 설정에서 지운 편지함과 보낸 편지함을 좀 전에 만든 폴더에 연결을 해야 한다.
다음과 같이 지운편지함과 보낸 편지함을 서로 연결해라.
다음은 화면을 좀더 편하게 보는 옵션에 대해 설명을 한다. 그리고 화면 설정에서 한글 부분은 영어를 매번 사용하지 않는다면 꼭 설정을 해야된다. 다음과 같이 화면 설정부분을 클릭해라
화면설정 부분에서 보면 언어를 설정하는 부분이 있다. 이 부분에서 Korean을 설정하고 폴더 리스트의 폭을 결정하는 부분에서 200 pixels에서 120pixel이나 아니면 여러분이 원하는 크기로 바꾸면 된다.
언어와 폴더 리스트의 폭을 결정하고 난 후 맨 마지막에 있는 HTML로 온 메일은 HTML로 기본으로 보여주기 부분을 체크하기 바란다. 왜냐면 요즘은 외부에서 메일을 보내는 경우나 또는 다른 사람들이 메일을 보낼 때 HTML로 보낸 메일이 많이 있는데 그런 경우 알아서 다람쥐 메일이 보여준다.
위에서 얘기한 모든 것을 다 한 후 제출버튼을 누르고 난 후 페이지 갱신 부분을 다음과 같이 클릭하면 됩니다.

2012-09-11

FreeBSD]FreeBSD와 윈도우의 공존하기-최준호님 강좌.


윈도우와 공존하기

최준호, Korea FreeBSD Users Group <cjh at kr.FreeBSD.org>


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

이번달에는 FreeBSD와 윈도우를 같은 랜 환경에서 사용할때 일어날 수 있는 여러가지 상황에 대해서 알아보도록 하자. FreeBSD를 혼자 운영하는 경우가 아니라면 어느정도는 윈도우 시스템과 마주칠 일이 많을 것이므로, 윈도우와 연결하는 법에 대해서 알아두는 편이 좋을 것이다.



FreeBSD와 윈도우

인터넷 자체가 서로 다른 시스템을 연동하기 위해 만들어진 규격에 의해 동작하는 네트워크이지만, 작은 사무실 규모의 LAN 환경에서도 여러가지 서로 다른 플랫폼이 혼재하는 경우가 많다. 최근에는 집에서도 PC 여러대를 공유하는 가정도 늘고 있으므로 이러한 이기종간의 데이터 연결에 대한 요구는 상당히 높다고 할 수 있는데, 이런 경우 존재할 수 있는 플랫폼이라고 한다면 대부분 유닉스 계열(*BSD, 리눅스, 다른 유닉스)과 윈도우(윈도우 95, 98, ME, NT, 2000, XP), 매킨토시(Mac OS 9/X)를 들 수 있을 것이다. 이중 FreeBSD와 윈도우 간의 연결에 대해서 알아보기로 하자. FreeBSD는 다른 유닉스 운영체제 이외에도 윈도우, 매킨토시 등 여러 서로 다른 플랫폼간의 연결을 도와줄 수 있는 많은 프로그램을 사용할 수 있다.

대표적으로 다음의 프로그램을 들 수 있다.


samba (SMB/CIFS 프로토콜 서버)
netatalk, cap (AppleTalk 프로토콜 서버)
smbfs, sharity-light (SMB/CIFS 파일시스템 마운트용)

이러한 시스템의 사용에 있어서 주 관심사는 원격 파일 시스템 공유이지만, 사용자 인증이나 프린터 사용등도 제공하고 있다. 이중 대표적으로 사용할 수 있는 몇몇 어플리케이션에 대해서 알아보자.




윈도우에서 FreeBSD에 접근하기

samba (net/samba*)

리눅스나 유닉스를 조금 사용해 본 사용자라면 윈도우와의 연결에 있어서 samba를 가장 먼저 떠올릴 사람이 많을 것이다. samba는 기술적으로는 SMB/CIFS 서버로 부를 수 있는데, 이는 윈도우 네트워크를 연결하는 프로토콜의 이름이다. 파일 공유나 프린터 공유, 그리고 인증에 대한 내용인데, 원래는 SMB(Server Message Block)이라는 이름으로 부르는 것이지만 이를 확장하여 네트워크 표준으로 만들고자 마이크로소프트가 IETF에 제출할 때에는 CIFS(Common Internet File System)으로 바뀌었다. 하지만 내용은 거의 동일하다. 또한 samba는 윈도우와 유닉스의 사용자를 이을 수 있도록 하는 여러가지 인증 메카니즘을 제공할 수 있다.

설치 방법은 보통의 ports 설치를 생각하면 된다. samba 관련 포트는 세가지가 있다.


net/samba  samba 안정 버전. 현재는 samba 2.2.x 버전의 포트

net/samba-devel  samba 개발 버전. 현재는 3.0 베타 버전의 포트

net/samba-tng samba TNG. samba TNG는 2000년 후반에 samba에서 갈라져 나온(code forking) 한 갈래이다.
TNG는 현재 samba에서 제공하지 못하는 주 도메인 콘트롤러 기능을 제공하는 것을 목표로 하고 있다.

http://www.samba-tng.org

japanese/samba, japanese/samba20

samba 2.2와 samba 2.0의 일본어화 버전. 우리가 사용할 일은 거의 없겠지만, 이 버전은 samba 배포본에 일본어 처리 기능을 더 제공하고, 일본어화된 SWAT를 제공하고 있다. 한국에서 이런 프로젝트가 있으면 좋겠다는 생각에서 소개한다. http://www.samba.gr.jp/



samba 설치

어느 버전을 설치할지는 여러분의 자유이지만, 많이 사용하는 것은 net/samba 를 설치하면 큰 무리가 없을 것이다. 설치할 때에는 여러가지 옵션 사항에 대한 것을 물어볼 것인데, 처음에는 아무것도 선택하지 말도록 하자. 나중에 LDAP인증이나 DFS 지원 등을 포함하고 싶다면 다시 컴파일해서 설치하면 된다.

# cd /usr/ports/net/samba
# make install clean

samba를 설치한 후에는 이 서버를 어떻게 띄울지를 정해야 한다. 이 방법에는 두가지가 있는데, smbd/nmbd를 대몬으로 띄우는 방법과 inetd를 통하는 방법이다. 아래 두 방법 중 하나만 사용하기를 바란다.

samba에는 두가지 서비스 대몬을 기본적으로 띄우게 되는데, 하나는 파일 서비스를 담당하는 smbd이며, 브라우징이나 네임 리졸빙을 담당하는 nmbd를 사용한다.


smbd/nmbd를 대몬으로 띄우기

이 방법을 사용하기 위해서는 보통의 포트를 통해 설치하는 대몬 서비스와 같이 /usr/local/etc/rc.d/ 의 기동 스크립트를 사용하도록 한다.


# cd /usr/local/etc/rc.d
# cp samba.sh.sample samba.sh

그리고 설정 파일은 /usr/local/etc/smb.conf에 있으므로 이 파일을 적절히 수정하도록 한다. 수정한 후에 smbd/nmbd를 띄우기 위해서는 다음과 같이 한다. 물론 시스템을 다시 부팅하면 자동으로 실행된다.


# sh /usr/local/etc/rc.d/samba.sh start

정지하기 위해서는 stop 인수를 주면 된다.


inetd를 이용하는 방법

inetd에서 띄우기 위해서는 다음과 같이 한다. 기본적인 samba를 위한 엔트리는 /etc/inetd.conf에 존재하므로 이 부분의 주석을 풀어주면 된다. /etc/inetd.conf의 끝부분을 살펴보도록 하자.





--------------------------------------------------------------------------------
#
# Enable the following two entries to enable samba startup from inetd
# (from the Samba documentation).  Enable the third entry to enable the swat
# samba configuration tool.
#
netbios-ssn stream tcp nowait          root    /usr/local/sbin/smbd    smbd
netbios-ns dgram udp   wait            root    /usr/local/sbin/nmbd    nmbd
#swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat
--------------------------------------------------------------------------------

서비스를 이용하기 위해서는 netbios-ssn과 netbios-ns의 두 서비스 항목의 주석을 위와 같이 풀어 주고 inetd를 재시작하도록 한다. inetd를 띄워놓지 않은 경우라면 inetd도 띄워두도록 해야 하고, 접근 제한을 하기위해서 /etc/hosts.allow에 적당한 접근 제한이 되어 있는지 살펴보도록 하자. swat 항목에 대해서는 아래에 설명하기로 한다.



SWAT

SWAT는 Samba Web Administration Tool의 약자로, samba를 웹에서 관리할 수 있도록 하는 도구이다.

여기에서는 samba 관련 문서도 읽어볼 수 있으므로 관리에 많은 도움이 되지만 영문 버전만 제공되는 것이 약점이라고 할 수 있다. 이 부분에서 한글 정보를 제공하는데 관심이 있는 사용자들은 japanese/samba 에 들어있는 번역 프레임워크를 사용해서 한국어 SWAT를 제공할 수 있도록 해 보면 좋을 것이다.

swat는 기본적으로 사용할 수 없게 되어 있으므로 이를 사용하기 위해서는 inetd를 띄우도록 해야 한다.

/etc/inetd.conf의 예제로 제공되고 있으므로 가장 아랫부분을 살펴보아서 다음과 같은 부분을 찾아 주석을 풀어주면 된다.

swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat


inetd를 재시작하였으면 웹 브라우저를 띄워서 다음 주소로 접속하도록 하자.

http://서버IP:901 또는 http://127.0.0.1:901

외부에서 임의로 접근하는 일을 막기 위해서는 /etc/hosts.allow에서 조절해 주기 바란다. 만약 루프백 인터페이스에서 접속만을 허가하도록 만들고 싶다면 다음과 같이 /etc/hosts.allow에 다음과 같이 적어준다.

swat: 127.0.0.1 : allow
swat: ALL : deny



SWAT 접속 화면

samba 설정

samba의 설정 파일은 /usr/local/etc/smb.conf 에서 설정할 수 있다. 이 파일은 직접 편집해도 되고 SWAT를 이용해도 된다. SWAT는 수동으로 편집한 smb.conf 도 읽어들일 수 있으므로 두 방법 모두 이용할 수 있다. 하지만 SWAT 인터페이스에서는 대부분의 선택 가능한 값을 그대로 텍스트로 적도록 되어 있어서 smb.conf 에 대한 매뉴얼 페이지나 SWAT의 도움말 화면을 잘 읽어보지 않으면 어떤 값을 주어야 하는지 알기가 힘든 경우가 있다.

기본적인 smb.conf의 설정 방법에 대해서 알아보자. 설치 직후에는 파일이 존재하지 않으므로 기본값에서 하나 복사해 온다.


# cd /usr/local/etc
# cp smb.conf.default smb.conf

다음은 smb.conf.default 에서 최소한의 부분과 약간의 예제를 간추려 번역한 부분이다.



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



# 시스템의 기본 값을 지정한다.
[global]

# 윈도우에서는 "작업 그룹" 또는 "도메인"이라 부르는 값이다.
# 같은 LAN 내의 같은 작업 그룹이 되도록 적어주면 된다.
   workgroup = MYHOME

# 윈도우에서 네트워크 환경의 자세히 보기를 선택하면 여기 나오는 값을
# 볼 수 있다. 보통 서버에 대한 설명을 적어 준다.
   server string = My Home Server

# 접속할 수 있는 외부 IP 목록을 적는다. 127. 은 루프백 인터페이스가
# 속하고, 나머지는 접속이 가능한 LAN 주소나 외부 주소를 적으면 된다.
# 주의할 것은 samba는 TCP를 통한 접속을 허가하므로 인터넷에 연결되어
# 있다면 서브넷 외부에서도 접속할 수 있으므로, 이 부분을 주의해서
# 지정하기 바란다.
   hosts allow = 192.168.1. 192.168.2. 127.

# /etc/printcap에서 프린터 설정을 읽어들이도록 하려면 yes라 지정한다.
   load printers = yes

# samba 접속 로그 파일 이름을 지정한다. %m은 접속한 쪽의 컴퓨터
# 이름이다(정확히는 NetBIOS 이름). 아래 기본 설정으로 해 두면
# /var/log 디렉토리가 지저분해질 수 있으므로 서브디렉토리를 하나
# 만들어(/var/log/samba 와 같은 식으로) 두는 편이 좋을 것이다.
   log file = /var/log/log.%m

# 보안 모드는 user, share, server 등이 있다. 이는 공유에 대한 접근
# 보안 방식을 지정하는데, 조금 복잡하므로 SWAT나
# /usr/local/share/doc/samba/textdocs/security_level.txt 문서를
# 참고하기 바란다. 서브넷에 NT/2000 도메인 콘트롤러가 있다면 그쪽으로
# 인증을 넘길 수 있다(server). 윈도우 95/98 등에서 접근한다면
# 도메인 로그온을 하지 않는 한 share 가 적당할 것이다.
   security = user

# 윈도우 95나 NT 업데이트에 포함되어 있는 암호화된 암호 전송을
# 사용한다. 이 기능은 smbpasswd와 조합해서 사용해야 한다.
# 반대로 윈도우의 레지스트리를 조정해서 평문 암호 전송을 사용하도록
# 하는 경우도 있다. /usr/local/share/doc/samba/Registry 를 보자.
  encrypt passwords = yes

# 속도 향상을 위한 소켓 옵션을 지정할 수 있다.
   socket options = TCP_NODELAY

# 네트워크 카드가 하나 이상 있다면 여기에 사용할 주소만 적어준다.
   interfaces = 192.168.12.2/24 192.168.13.2/24

# 윈도우는 네트워크 환경 목록에 나올 컴퓨터 이름을 수집하기 위해
# 브라우징이라는 과정을 거친다. local master를 yes로 지정하면
# 이 서버를 이 네트워크의 브라우저 마스터로 지정하여 컴퓨터 목록을
# 유지하도록 한다.
   local master = no

# 현재 네트워크 안에 NT 도메인 콘트롤러가 있다면 그 서버의 이름을
# 지정한다.
;   domain controller =


# DNS 프록시는 samba가 DNS 룩업을 통해서 NetBIOS 이름을 해석할지
# 여부를 지정한다. 원래 기본값은 yes였지만 1.9.18 이후 no로 바뀌었다.
   dns proxy = no


# 코드페이지 지정은 한국어의 경우 다음과 같이 한다.
client code page=949

# smb.conf 예제를 보면 아래와 같은 행이 포함되어 있는데 선택하지 않는
# 편이 좋다. 이 부분은 net/cap과 같은 매킨토시 지원의 경우
# 파일시스템에서 한글 코드를 :XX (XX는 16진수 두자리)와 같은 방식으로
# 표현하도록 하는데, cap/netatalk와 공존할 것이 아니라면 유닉스
# 사용자에게 혼란을 주게 되므로 지정하지 않고 그냥 두는 편이 좋다.
; coding system=cap

# 각 공유를 지정하기 위해서는 [공유명] 아래에 들여쓰기로 옵션을
# 지정하도록 한다. SWAT를 통해 만들어진 공유도 동일하다.
# homes는 특수한 공유로, 접속한 윈도우 사용자의 id와 일치하는(별도의
# 맵을 사용하지 않는 한) 로컬 서버의 홈 디렉토리를 네트워크 환경의
# 공유에 나타내도록 한다. 즉 접속하는 사람마다 나타나는 값이 다르게
# 된다.
# 윈도우와 FreeBSD에서 동일한 id를 사용하는 경우에 자신의 홈
# 디렉토리에 접근하기 위해 편리하게 사용할 수 있다. 만약 다른 경우라면
# username map이라는 파일을 만들어서 다른 id로 바꾸어 줄 수 있다.
[homes]
   comment = Home Directories
   browseable = no
   writeable = yes

# printers 공유도 특수한 것으로 프린터를 지정한다. 프린터는 실제
# 파일 공유와 유사하지만 파이프의 형식을 갖고 있다. 다른 공유 이름으로
# 프린터를 만들 수 있는데 이 경우에는 printable = yes 를 지정한다.
# smv.conf.default의 다른 예를 살펴 보자.
# 윈도우에서 프린터 공유를 열게 되면 /etc/printcap에 지정된
# 프린터 이름들이 자동으로 나열된다. 이 방식은 윈도95/98에서 사용하는
# 방식으로, 2000 이후에서 사용하는 또 다른 방식 [print$]가 있다.
# 그 방법을 사용하면 프린터 드라이버의 자동 설치 등이 가능하지만
# 여기에서는 다루지 않겠다.
[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no

# 아래 행 대신 public = yes 를 추가하면 익명으로 출력이 가능하다
   guest ok = no
   writeable = no
   printable = yes

# 모두 접근할 수 있는 공유를 만들고 싶다면 아래와 같이 한다. 디렉토리
# 권한을 적절히 수정해 주어야 할 것이다(모두 읽기/쓰기, sticky 등)
[public]
   comment = Temporary file space
   path = /home/public
   read only = no
   public = yes

# 아래의 예는 mary와 fred 사용자만이 사용할 수 있는 공유의 예이다.
# 접근 가능한 사용자를 valid users에 기술하고, public = no 로 지정되어
# 있는 점을 살펴보자.
# create mask는 shell의 umask와 동일한 역할을 한다. 이런 경우 mary가
# 만든 파일을 fred가 지울 수 없도록 디렉토리에 sticky 비트를 추가해
# 주면 좋다.
;[myshare]
;   comment = Marys and Freds stuff
;   path = /usr/somewhere/shared
;   valid users = mary fred
;   public = no
;   writeable = yes
;   printable = no
;   create mask = 0765

--------------------------------------------------------------------------------
smb.conf의 지정이 되었으면 testparm 명령으로 설정이 맞는지 검사해 볼 수 있다. 이후 서버를 띄우고(SWAT의 Status 메뉴를 이용해도 각 서버를 바로 실행할 수 있다) 윈도우에서 접근해 보도록 하자.

여기에서는 nemesis 라는 서버가 FreeBSD samba 서버이다. 클라이언트가 윈도우 98이고 NT 로그온 상태가 아니어서 security = share로 하고 있다. 또한 사용자 로그인을 가능하게 하기 위해 다음 명령을 실행하여 윈도우 사용자를 생성해 주었다.

# smbpasswd -a cjh
New SMB password: 암호
Retype new SMB password: 암호
Added user cjh.

이렇게 하면 encrypted passwords = yes도 가능하다. 또는

/usr/local/share/doc/samba/Registry/Win98_PlainPassword.reg 파일을 윈도우에서 실행하면 평문 로그인이 가능한데, 이 경우 유닉스 사용자 정보를 그대로 이용할 수 있다. smbpasswd 로 작성한 암호는 /usr/local/private/smbpasswd 에 저장이 되는데, 이 파일에는 사용자 암호가 저장되어 있는 관계로(암호화되어 있기는 하지만) /etc/master.passwd와 동일한 수준의 보안을 요하므로 관리에 주의해야 한다.


네트워크 공유로 본 모습

윈도우에서 cjh 라는 사용자로 로그온해 있었다면 nemesis에 접근할 경우 다음과 같이 보인다.


cjh 사용자로 접근한 모습


설정된 프린터 목록도 볼 수 있다. 프린터에서 오른쪽 단추를 눌러서 바로 시스템 프린터 설치도 가능하다.


프린터 공유

임시 디렉토리를 만들었다면 다음과 같이 공유에 접근이 가능하다. 파일을 만들거나 지워 보도록 하자.

public 공유

samba에는 수많은 옵션이 있다. 특히 samba의 뛰어난 기능은 사용자 관리와 각종 성능 조정 옵션, 그리고 2.2에서 추가된 기능 중 눈에 띄는 기능은 국제화 처리의 강화와 ACL, Microsoft DFS, winbindd를 통한 인증 기능의 통합 등인데, 대부분의 기능은 NT/2000 도메인에 관한 신기능이라 할 수 있다.

samba는 현재 NT 도메인에 워크스테이션으로 참여하거나 인증을 PDC(주 도메인 콘트롤러)에 넘길 수 있는 기능이 있지만, 앞서 이야기한 samba-tng는 아예 NT/2000 서버가 한대도 없는 경우에도 PDC로 동작할 수 있는 기능을 목표로 하고 있다. 사무실에 NT/2000 서버가 없어도 NT/2000 도메인 환경을 구성하고 싶다면 samba-tng를 시도해 보는 것도 좋으리라 생각한다.

이렇게 구성한 samba 가 뜬 FreeBSD 서버의 경우 사무실이나 학교 내의 파일 서버나 프린터 서버로 제격이다.



FreeBSD에서 윈도우에 접근하기

이번에는 반대의 경우를 생각해 보자. 즉 FreeBSD에서 윈도우의 공유나 프린터를 이용해야 하는 경우이다.

이 경우에도 여러가지 방법이 있겠지만, 주요 내용은 파일 공유와 프린터를 사용할 수 있는지에 대한 것이다.


samba (net/samba*)

앞서 설명하였던 samba에는 FreeBSD에서 윈도우 쪽의 접근을 도와주기 위한 여러가지 도구가 제공되고 있다. 리눅스의 경우에는 samba 배포본 안에 smbfs라는 커널 파일시스템 형태의 드라이버가 제공되고 있지만, FreeBSD에서는 동작하지 않고 대신 FreeBSD 용의 smbfs 가 따로 있다.

smbclient

smbclient는 가장 기본적인 명령행 도구이다. 공유 접근에 대한 거의 대부분의 기능을 수행할 수 있다.

smbclient는 다음의 문법을 갖는다.

   # smbclient 서비스 암호 [옵션]


옵션을 뒤에 쓰는 좀 특이한 형태이다. 보통 파일 공유에 접근하려면 공유 리소스를 나타내기 위한 윈도우식 이름을 사용하면 된다. 보통 서버공유명으로 나타내는데, 유닉스 쉘에서는 가 특수한 의미를 가지므로 두번 써야 한다.  문자 대신 /을 써도 된다. 가령 garfield 라는 윈도우의 c 라는 공유에 접근하기 위해서는 다음과 같이 사용한다.



  # smbclient garfieldc

    added interface ip=192.168.1.4 bcast=192.168.1.255 nmask=255.255.255.0
    Got a positive name query response from 192.168.1.3 ( 192.168.1.3 )
    Password:

보통은 암호를 물어볼 것인데, 공유에 지정한 암호 또는 사용자 암호를 입력하면 된다. 암호를 지정하지 않았다면 그냥 엔터를 누르면 되며, 이런 경우에는 -N 옵션을 추가하면 암호 입력 없이 접속이 가능하다(위험한 방법이기는 하다).

  smb: >

접속 후 아래와 같은 프롬프트가 나온다. 여기서는 FTP와 유사한 방법으로 사용이 가능하다. 즉 목록을 보려면 ls, 파일을 받으려면 get, 올리려면 put 명령을 이용한다.

smb: > get v3ahn.cfg
getting file v3ahn.cfg of size 7314 as v3ahn.cfg (14.1 kb/s) (average 14.1 kb/s)

smb: > put ENCRYPTION.txt
putting file ENCRYPTION.txt as ENCRYPTION.txt (111.1 kb/s) (average 111.1 kb/s)


이런식으로 파일 공유를 이용하며 된다. 간단하게 사용할 때에는 편리하다. 이 기능을 사용하여 원격 디렉토리를 tar로 묶거나 풀 수 있는 smbtar라는 명령도 제공된다. 마운트하지 않아도 되므로 윈도우 데이터를 FreeBSD 디렉토리에 백업하고자 하는 경우에 유용하다.

smbclient에는 여러가지 옵션이 있는데, -U 사용자ID 로 접속할 계정 ID를 다르게 줄 수 있고, 서버 이름이 DNS와 NetBIOS의 것이 충돌한다면 -I 서버 IP 옵션을 사용하여 실제 접속하는 호스트 IP 주소를 적어준다.



공유 목록만을 얻기 위해서는 다음과 같이 하면 된다. 다음은 nemesis 호스트(이 이름은 DNS 또는 /etc/hosts의 이름이 아니라 윈도 네트워크 상의 이름이다)의 공유 목록을 본 예이다.



% smbclient -N -L nemesis

added interface ip=192.168.1.4 bcast=192.168.1.255 nmask=255.255.255.0

Anonymous login successful

Domain=[MYHOME] OS=[Unix] Server=[Samba 2.2.5]


        Sharename      Type      Comment
        ---------      ----      -------
        public         Disk    
        IPC$           IPC       IPC Service (My Home Server)
        ADMIN$         Disk      IPC Service (My Home Server)
        remote         Printer   local line printer


        Server               Comment
        ---------            -------
        NEMESIS              My Home Server


        Workgroup            Master
        ---------            -------
        MYGROUP              GNOMANIAC
        MYHOME               NEMESIS



smbspool

smbspool는 윈도우 프린터를 사용하고자 하는 경우에 이용할 수 있다. 사전에 프린터 이름을 알고 있어야 하는데 위의 smbclient 명령을 사용하면 얻을 수 있다. 사용법은 다음과 같다.

  # smbspool [DEVICE_URI] job-id user title copies options [file]

DEVICE_URI는 같은 이름의 환경변수를 사용할 수도 있는데, 프린터의 이름을 지정한다. 아래의 예를 참고하기 바란다. test.txt라는 파일을 인쇄하기 위해서는 다음 예와 같이 하는데, 주의할 것은 smbspool과 같은 명령으로 출력하는 경우에는 윈도우의 프린터 드라이버를 거치지 않고 바로 프린터로 출력이 나가게 된다. 즉 이 프린터가 윈도우에서 사용하는 프린터 드라이버가 무엇이든, smbspool을 이용할 때에는 해당 프린터에 맞는 언어로 변환한 다음 내보내기 바란다. 특히 포스트스크립트와 같은 경우에는 ghostscript 등을 사용하여 미리 해당 프린터의 언어(PCL등)로 변환해야 한다.


  # smbspool smb://nemesis/remote 0 cjh test 1 none test.txt

사실 job, user, title, options에 해당하는 값은 거의 의미가 없으므로 아무 값이나 주어도 상관이 없다.

프린터 이름을 나타내는 DEVICE_URI와 파일 명에만 유의하자. 가장 마지막의 파일명을 생략하면 표준 입력에서 받으므로 다음과 같이 파이프를 이용한 출력에도 이용할 수 있다.

  % h2ps test.txt | smbspool smb://nemesis/remote 0 cjh test 1 none

CUPS(Common UNIX Printing System, print/cups)를 사용하면 기존 BSD lpr 이외에 윈도우 프린터에 대한 출력도 지원해 준다.



smbfs

FreeBSD 4.0 버전 이후에는 smbfs라는 커널 파일시스템으로 구현된 SMB 공유 마운트 기능을 사용할 수 있다. 기능적으로는 리눅스의 smbfs와 동일하며, 최근의 4.x 버전에는 시스템에 포함되어 있고 그 이전 버전이라면 포트(net/smbfs)를 통해 설치할 수 있다. 사용하는데에는 모듈을 로딩하면 되므로 굳이 커널을 다시 컴파일할 필요는 없지만, 커널에 다음 옵션을 주어 빌드할 수 있다.


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

# SMB/CIFS 리퀘스터
# NETSMB는 SMB 프로토콜 지원을 사용할 수 있게 하며, LIBMCHAIN과
# LIBICONV 옵션이 필요하다.
# NETSMBCRYPTO는 암호화된 암호 전송을 지원한다.

options         NETSMB                  #SMB/CIFS requester
options         NETSMBCRYPTO            #encrypted password support for SMB

#mchain 라이브러리. KLD로 로딩하거나 커널에 포함할 수 있다.

options         LIBMCHAIN               #mbuf management library

# 커널측 iconv 라이브러리

options         LIBICONV


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



또는 4.x의 경우 /modules/smbfs.ko 를 로딩해 두면 된다. 만약 /modules/smbfs.ko가 없다면 포트에서 net/smbfs를 설치하기 바란다. smbfs 관련 유틸리티로는 두가지가 있는데, 파일 공유를 마운트하기 위한 mount_smbfs와 smbutil이라는 간단한 유틸리티이다. 이들 프로그램은 모두 samba가 없어도 동작한다.

mount_smbfs

윈도우 파일 공유를 마운트하는 방법에 대해서 알아보자. garfieldc 를 /share에 마운트하고 싶다면 다음과 같이 한다.

아래 공유는 암호가 지정되어 있지 않은 경우이다.

  # mount_smbfs -N

마운트된 상황은 다음과 같다.

  # df -k
  ...


암호가 있는 경우라면 -N 옵션을 제외하고, 사용자 id를 같이 주어야 할 수도 있다.

  # mount_smbfs

  Password:


암호를 주어야 하거나 작업 그룹 이름을 지정해야 하는 경우라면 설정 파일에 그러한 정보를 기록해 둘 수 있다. 설정 파일에는 두가지가 있는데, 일반 사용자를 위한 ~/.nsmbrc 또는 전역 설정을 위한 /usr/local/etc/nsmb.conf 이다. 이 파일의 예제는 /usr/share/examples/smbfs/dot.nsmbrc 에서 찾을 수 있다.



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

# 기본값 영역이다. 작업 그룹을 지정하고 있다.

[default]

workgroup=MYHOME


# NEMESIS는 윈도우 서버 이름이다.
# charsets는 [윈도우쪽 문자셋]:[FreeBSD쪽 문자셋]의 변환 규칙을 지정할
# 수 있고(iconv의 기능을 이용한다), addr는 실제 TCP/IP상의 주소를
# 나타낸다.

[NEMESIS]
charsets=euc-kr:euc-kr
addr=fserv.coolcorp.com

# NEMESIS의 CJH 사용자에 대한 설정을 나타낸다.
[NEMESIS:CJH]

# CJH 사용자의 암호를 지정한다. 여기 지정하면 mount_smbfs 시에 암호
# 입력을 생략할 수 있다. 여기 적은 암호는 smbutil crypt 명령으로
# 생성할 수 있다. smbutil에 대한 설명은 아래에서 하고 있다.

password=$$28974DECD

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


암호를 지정해 두면 mount_smbfs 시에 암호 입력을 생략할 수 있다. 항상 마운트하고 싶다면 /etc/fstab에 다음과 같이 기록한다. 물론 사전에 nsmb.conf 등에 암호를 적어 두어야 한다.


  # smbfs


이렇게 하면 부팅시에 바로 마운트가 될 것이다.


smbutil

smbutil은 smbfs의 보조 역할을 하는 유틸리티로 몇가지 편리한 기능을 갖고 있다. 사용법은 다음과 같다.

  # smbutil 명령 [인수]

명령에는 다음과 같은 종류가 있다.

  crypt [암호]: crypt를 사용하면 nsmbrc용의 암호를 생성할 수 있다.

  # smbutil crypt mypassword
  $$16144562c293a0314e6e1

암호 "mypassword"의 암호화된 값이 출력되므로 이 값을 .nsmbrc의 password에 적어주면 된다.

물론 해당 파일은 다른 사용자가 읽거나 쓸 수 없도록 반드시 권한을 변경하기 바란다.


lc 현재 활성화되어 있는 연결을 출력해 준다.

  # smbutil lc

  SMB connections:
  VC: NEMESISCJH
  (root:wheel) 711
    Share:    PUBLIC(root:wheel) 711


현재 NEMESISCJH 공유를 root:wheel 사용자:그룹으로 접근하고 있다는 의미이다.

  login

  logout

이 명령을 통해 해당 서버 또는 공유에 로그인/로그아웃할 수 있다. 한번 로그인해 두면 로그아웃될 때까지 해당 공유/서버에 대한 명령을 암호 없이 수행할 수 있다. 프린터 접근 등에 유용하다.

lookup [-w NetBIOS 네임서버] 호스트명

호스트명에 대한 IP 주소를 돌려준다. SMB는 DNS와는 다른 네임 리졸빙 체계를 갖추고 있다고 하면 이 명령에 대한 이해가 쉬울 것이다.


  # smbutil lookup nemesis

  Got response from 192.168.1.1
  IP address of nemesis: 192.168.1.1

samba에는 동일한 일을 할 수 있는 nmblookup 이라는 명령이 있다. nmblookup의 좋은 점이라면 리버스 룩업도 가능하다는 점이다.


print

samba의 smbspool과 동일한 역할을 한다. 파일명이 -이면 표준입력에서 받는다. 암호를 지정해야 하는 경우에는 smbutil login 명령으로 미리 로그인할 수 있다. 앞서 smbspool과 동일한 예는 다음과 같이 쓸 수 있다.


  # smbutil print

view

해당 서버의 공유 목록을 보여준다. smbclient의 -L 옵션과 동일한 역할이다.

  # smbutil view

  Password:

  Share        Type       Comment
  -------------------------------
  E            disk      
  C            disk      
  IPC$         pipe       원격 프로세스간 통신

3 shares listed from 3 available


고급 주제

이번 기사에서 다루지 않은 내용 중 더 배워 볼 만한 주제는 다음과 같다. SMB와 NT 도메인 콘트롤러를 다루는 것은 생각만큼 쉽지 않다는 사실을 꼭 기억하기 바란다.


samba를 사용한 NT 도메인 관련 제어와 연동
samba에 다른 인증 시스템 사용해 보기(LDAP 등)
다른 윈도우 관련 프로그램 사용해 보기
매킨토시 등 다른 플랫폼과도 연동해 보기


끝으로

아쉽게도 이번 FreeBSD 연재를 여기서 마치게 되었다. 아직 써볼만 한 내용은 많이 남아 있지만 일단 다음 기회를 기약하는 것이 좋겠다는 생각이 든다.

진행에 힘써주신 프로그램세계 여러분들에게 감사드리며, 지금까지 연재된 기사는 필자의 홈페이지에서 언제라도 읽어볼 수 있으므로 혹시 놓친 부분이 있다면 웹에서 읽어보기 바란다.



      http://www.kr.FreeBSD.org/~cjh/freetime/os/freebsd/