OpenVPN 서버 구축 #2. 서버 설치 및 설정

설치

EPEL1Extra Package for Enterprise Linux 릴리즈 패키지가 필요하다.

[centos7:/home/haedong:]$ sudo  yum -y install epel-release
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be updated
---> Package epel-release.noarch 0:7-13 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
 Package                                                       Arch                                                    Version                                                  Repository                                             Size
============================================================================================================================================================================================================================================
Updating:
 epel-release                                                  noarch                                                  7-13                                                     epel                                                   15 k
Transaction Summary
============================================================================================================================================================================================================================================
Upgrade  1 Package
Total download size: 15 k
Downloading packages:
epel/x86_64/prestodelta                                                                                                                                                                                              |  539 B  00:00:01
epel-release-7-13.noarch.rpm                                                                                                                                                                                         |  15 kB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : epel-release-7-13.noarch                                                                                                                                                                                                 1/2
  Cleanup    : epel-release-7-11.noarch                                                                                                                                                                                                 2/2
  Verifying  : epel-release-7-13.noarch                                                                                                                                                                                                 1/2
  Verifying  : epel-release-7-11.noarch                                                                                                                                                                                                 2/2

Updated:
  epel-release.noarch 0:7-13

Complete!

openvpn, easy-ras 패키지 설치

[centos7:/home/haedong:]$ sudo  yum -y install openvpn easy-rsa
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package easy-rsa.noarch 0:3.0.8-1.el7 will be installed
---> Package openvpn.x86_64 0:2.4.9-1.el7 will be installed
--> Processing Dependency: libpkcs11-helper.so.1()(64bit) for package: openvpn-2.4.9-1.el7.x86_64
--> Running transaction check
---> Package pkcs11-helper.x86_64 0:1.11-3.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
 Package                                                      Arch                                                  Version                                                       Repository                                           Size
============================================================================================================================================================================================================================================
Installing:
 easy-rsa                                                     noarch                                                3.0.8-1.el7                                                   epel                                                 44 k
 openvpn                                                      x86_64                                                2.4.9-1.el7                                                   epel                                                524 k
Installing for dependencies:
 pkcs11-helper                                                x86_64                                                1.11-3.el7                                                    epel                                                 56 k
Transaction Summary
============================================================================================================================================================================================================================================
Install  2 Packages (+1 Dependent package)
Total download size: 624 k
Installed size: 1.5 M
Downloading packages:
(1/3): easy-rsa-3.0.8-1.el7.noarch.rpm                                                                                                                                                                               |  44 kB  00:00:02
(2/3): openvpn-2.4.9-1.el7.x86_64.rpm                                                                                                                                                                                | 524 kB  00:00:01
(3/3): pkcs11-helper-1.11-3.el7.x86_64.rpm                                                                                                                                                                           |  56 kB  00:00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                       141 kB/s | 624 kB  00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pkcs11-helper-1.11-3.el7.x86_64                                                                                                                                                                                          1/3
  Installing : openvpn-2.4.9-1.el7.x86_64                                                                                                                                                                                               2/3
  Installing : easy-rsa-3.0.8-1.el7.noarch                                                                                                                                                                                              3/3
  Verifying  : easy-rsa-3.0.8-1.el7.noarch                                                                                                                                                                                              1/3
  Verifying  : openvpn-2.4.9-1.el7.x86_64                                                                                                                                                                                               2/3
  Verifying  : pkcs11-helper-1.11-3.el7.x86_64                                                                                                                                                                                          3/3
Installed:
  easy-rsa.noarch 0:3.0.8-1.el7                                                                                         openvpn.x86_64 0:2.4.9-1.el7
Dependency Installed:
  pkcs11-helper.x86_64 0:1.11-3.el7
Complete!

설정

config 파일 복사
/usr/share/doc/openvpn-VERSION/sample/sample-config-files/ 디렉토리 아래에 존재한다.

Config 수정

 # openvpn 사용 port
 # 운영 환경에 맞게 변경한다.
port 9411

 # 프로토콜 (UDP는 user defined protocol)
proto udp

 # 가상 Device 
dev tun

 # 인증 키 관련 정보 
 # 다음 단락에서 생성할 파일들이다. 경로를 맞춰줘야 한다.
ca   /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key  /etc/openvpn/easy-rsa/pki/private/server.key 
dh   /etc/openvpn/easy-rsa/pki/dh.pem
tls-auth /etc/openvpn/easy-rsa/pki/ta.key
key-direction 0

auth SHA512
cipher AES-256-CBC

topology subnet

 # vpn network 정보. 가상 device 인터페이스.
server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

 # vpn을 연결하면 사용할 DNS
push "redirect-gateway def1 bypass-dhcp" 
push "dhcp-option DNS 192.168.4.254" 
push "dhcp-option DNS 8.8.8.8" 

 # 클라이언트간 연결을 허용할 때. 
 # 이 항목을 활성화 할 경우 iptables 정책도 수정 해야 한다.
;client-to-client

keepalive 10 120
comp-lzo

user nobody
group nobody

persist-key
persist-tun

verb 4

 # 로그를 저장할 경로. 디렉토리를 만들어줘야 한다.
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

키 생성

준비

 # easy-rsa 관련 
[centos7:/home/haedong:]$ sudo mkdir /etc/openvpn/easy-rsa
[sudo] haedong의 암호:
[centos7:/home/haedong:]$ sudo cp -r /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa
[centos7:/home/haedong:]$

키 생성을 위한 변수 설정
키를 생성하는 과정에서 직접 입력 할 수도 있다.

[centos7:/home/haedong:]$ sudo vi /etc/openvpn/easy-rsa/vars

 # 아래 내용을 붙여넣는다.

 # 국가 명
export KEY_COUNTRY="KR" 
 # 시/도 (경기도, 충청남도, 서울특별시, 광주광역시 등 광역시 이상)
export KEY_PROVINCE="Soeul" 
 # 시/군/구 (수원시, 속초시, 예산군, 강남구 등)
export CITY="GANGNAMGU" 
 # 회사명
export ORG="HaeDongcorp" 
 # Email
export KEY_EMAIL="haedonggang@naver.com" 
 # 부서 명
export KEY_OU="ITinfra" 
 # 서버 명
export KEY_NAME="centos7" 
 # 공통이름
export KEY_CN="vpn.haedongg.net" 

Setting up your own Certificate Authority – openvpn.net의 가이드

PKI 초기화

[centos7:/root:]# cd /etc/openvpn/easy-rsa
[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa clean-all
Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki

[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa init-pki
Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
WARNING!!!
You are about to remove the EASYRSA_PKI at: /etc/openvpn/easy-rsa/pki
and initialize a fresh PKI here.
Type the word 'yes' to continue, or any other input to abort.
  Confirm removal: yes
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki

ca 키 생성

[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa build-ca

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017

Enter New CA Key Passphrase: PASSPHRASE를 넣는다.
Re-Enter New CA Key Passphrase:  PASSPHRAS 확인
Generating RSA private key, 2048 bit long modulus
...............................................................+++
.........................................................+++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:  서버_이름

CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/etc/openvpn/easy-rsa/pki/ca.crt

서버 키 생성

[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa build-server-full server

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
Generating a 2048 bit RSA private key
..................................+++
.......................+++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-35432.9GPaYv/tmp.0beTT2'
Enter PEM pass phrase:  
Verifying - Enter PEM pass phrase:
-----
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-35432.9GPaYv/tmp.RTNa79
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key: CA_키_생성시_입력한_PASSPHRASE
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'server'
Certificate is to be certified until Mar 13 06:22:57 2023 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

DH 키교환 알고리즘을 위한 키 생성

[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa gen-dh

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.................+......................................................
...한참 중략....
........................................................................++*++*

DH parameters of size 2048 created at /etc/openvpn/easy-rsa/pki/dh.pem

TLS 키 생성

[centos7:/etc/openvpn/easy-rsa:]# openvpn --genkey --secret /etc/openvpn/easy-rsa/pki/ta.key

사용자 키 생성

[centos7:/etc/openvpn/easy-rsa:]# ./easyrsa build-client-full haedong

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
Generating a 2048 bit RSA private key
.............................................................+++
...................................+++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-35775.MjyGfQ/tmp.HL4Nlv'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-35775.MjyGfQ/tmp.VU7eke
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'haedong'
Certificate is to be certified until Mar 13 06:31:57 2023 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

OS(openvpn이 설치된 centos) 계정 정보를 이용한 인증 설정
옵션에 넣어줘야 하는 파일은 openvpn 패키지에 포함 되어있다. CentOS7 기준으로 /usr/lib64/openvpn/plugin 에 존재한다.

 # /etc/openvpn/server.conf 파일 끝에 아래 내용 추가

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
client-cert-not-required

서비스 시작

[centos7:/etc/openvpn/easy-rsa/pki:]#  systemctl start openvpn@server.service
Broadcast message from root@centos7 (Tue 2020-12-08 16:35:57 KST):

Password entry required for 'Enter Private Key Password:' (PID 37264).
Please enter password with the systemd-tty-ask-password-agent tool!


[centos7:/etc/openvpn/easy-rsa/pki:]# systemctl start openvpn@server.service
Enter Private Key Password: 개인키_PASSPHRASE

클라이언트 설정

Windows를 기준으로 다음과 같은 파일을 준비한다.
ca.crt / ta.key 파일은 키 생성 과정에서 생성했으니 다운로드 하면 된다.
VPN.ovpn 파일은 그냥 text 파일이다. 빈 파일을 만든다.
그리고 세 개 파일을 openvpn 클라이언트가 설치된 경로아래 config 디렉토리에 복사한다.
보통 C:\Program Files\OpenVPN\config 가 된다.

 # 다음의 내용을 삽입하고 저장한다.
client
dev tun
proto udp

resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
comp-lzo
verb 4


 # 키 파일의 경로를 입력
 # 별도의 경로를 넣지 않으면 C:\Program Files\OpenVPN\config 디렉토리를 기본으로 인식한다.
 # openvpn client 인스톨 뒤 위 경로에 ca.crt파일과 ta.key 파일을 복사한다. 
ca ca.crt
tls-auth ta.key 1
key-direction 1 

auth-user-pass

#remote VPN-SERVER-IP 9411

클라이언트 실행

아래 아이콘에 마우스 오른쪽 버튼을 클릭하면 메뉴가 뜬다.
vpn 서버가 여러대 일 경우 각 서버마다 ovpn 파일을 생성해서 config에 넣어주면 선택하여 접속할 수 있다.

이렇게 접속이 된다.

OpenVPN 서버 구축 #1. 개요

OpenVPN 서버 구축 #2. 서버 설치 및 설정

가상사설망(假想私設網) 또는 VPN(영어: virtual private network)은 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다.가상 사설망에서 메시지는 인터넷과 같은 공공망 위에서 표준 프로토콜을 써서 전달되거나, 가상 사설망 서비스 제공자와 고객이 서비스 수준 계약을 맺은 후 서비스 제공자의 사설망을 통해 전달된다.

가상 사설망의 등장배경은 인터넷을 기반으로 한 기업 업무환경의 변화에 기인한다. 즉, 소규모 지역에서 문서만을 전달하던 업무처리 기반에서 하나의 건물 내의 네트워크를 이용한 업무로, 다시 본사와 다수의 지사 관계, 또한 지사는 국내 지사와 국외 지사로 확장되었다. 이들이 하나의 네트워크 구축을 위해 기존 전용선을 사용하는 방법에는 비용을 포함한 여러가지 한계를 가지며, 전용선을 이용해서 네트워크가 구성되었다고 하더라도 네트워크 운영을 자체적으로 하는 것과 새로운 기술들을 도입하는 것 역시 기업의 입장에서는 상당한 부담이 될 수 있다. 또한 기존의 공중 네트워크는 보안과 관련해서는 서비스를 제공하지 않기 때문에 중요한 문서나 데이터를 전달하기에는 부족한 점이 있었다. 이러한 복합적인 이유가 가상 사설망이 등장한 계기가 되었다.1위키백과에서 발췌

왜 VPN이 생겨났는가는 단순하다.
A라는 회사가 있다고 생각해보자. 최첨단 산업을 선도하는 A사는 시간이 흐르면서 회사의 규모도 커지고 직원도 늘어나면서 서울에 본사 뿐 아니라 미국, 중국, 영국 등 세계 각국의 주요 거점에도 지사를 세우게 됐다.

서울 본사만 있을 때는 사내망 관리만 하면 됐지만 미국지사와 중요한 자료를 주고받으려니 일반망으로 데이터를 주고 받자니 중간에 패킷을 가로채거나 하는 공격의 위험이 크고, 서울에서 미국까지 전용선을 설치하자니 너무 비용이 많이 든다.

이러한 상황에서의 보안 요건을 충족하기 위한 것이 바로 Virtual Private Network 되시겠다.
즉, 일반망을 사용하되, 암호화 등의 조치를 통해 본사와 미국지사 사이의 연결이 사설망인 것 처럼 동작하게 하는 것, 그것이 VPN이다.


PPPTP / L2TP / IPSEC / SSL 등의 방식이 있으며, 근래에는 IPSEC, SSL 두 종류로 수렴하는 듯 한다.
가장 많이 쓰이는 IPSEC / SSL 방식 VPN의 차이를 찾자면
– SSL 방식이건 IPSEC이건 모두 암호화방식이나, 터널 개념에 있어서 큰 차이는 없다.

이건 SSL-VPN

– 클라이언트와 대상 망의 VPN 서버와 터널을 맺고 암호화 통신을 한다.

이건 IPSEC

– 양자간 각각의 VPN server를 두고 각 VPN 서버끼리 터널을 맺고 통신을 한다.

사진을 찍자 – #4. 구도

사진을 찍자 – #1. 개요 그리고 잡설

사진을 찍자 – #2. 사진기 살펴보기

사진을 찍자 – #3. 노출

求道 아니고, 舊都도 아니고 構圖. 비단 사진에만 해당 하는 것은 아니고 그림을 그릴 때에도 해당한다. 사진이나 그림 모두 결국 정해진 틀 안에 대상이 담기므로 표현하고자 하는 대상의 형태나 위치 색감 등을 고려한 짜임새를 말한다.

(필자는 전문가가 아니고 또 이 글은 전문가를 위한 글이 결코 아니니까..)
어렵게 생각하지 말고 우선 이것을 머리속에 담아두자.

사진을 찍건 그림을 그리건 일단 모두 ‘사각형의 틀’ 안에 담긴 다는 사실은 변하지 않는다. 1(당췌 이해 안되는 설치 미술이나 이런거라던가… 360카메라는 빼고.. ) 사진을 찍을 때 LCD나 뷰파인더에 저런 선이 있다고 생각하고 시작하면 된다. 2SLR의 경우는 그리그가 새겨진 스크린으로 교체 하기도 했고, 요즘 카메라는 촬영 시 LCD에 표시해주기도 한다.
책이나 다른 웹사이트를 뒤져보면 삼각구도, 터널구도, 방사구도 어쩌고 엄청 많이 나오는데 복잡하게 생각하지 말고 우선 위 가상의 선을 머리에 담고 이렇게 기억하면 된다.

‘사람의 시선이 분할선을 따라 이동하고 분할선이 모이는 점에서 멈춘다’

조금 더 재미 없는 그림을 보자.

어렵게 생각 할 필요는 없다
“선이 만나는 점들 중 어딘가에 중요한 것이 있다”
즉,
– 사람을 찍을 때라면 그림의 점 어딘가에 ‘사람의 얼굴’이 위치하면 되고
– 바다와 산을 찍을 때는 수평선과 산능선이 선을 따라 위치하면 된다는 말이다.
– 건물의 경우는 경계면들이 선에 걸치면 된다.
– 시선은 피사체에서 배경으로 이동하도록 한다.


– 사진을 보는 사람의 눈이 따라 움직이는 선과 멈출 곳을 찾는다고 생각하자

예시를 보자. 이해하기 쉽게 기술적으로 설명하고는 싶지만 전문가가 아닌지라 …

사진을 찍자 – #3. 노출

사진을 찍자 – #1. 개요 그리고 잡설

사진을 찍자 – #2. 사진기 살펴보기

사진을 찍자 – #4. 구도

세상의 모든 사진기는 렌즈를 통해 들어온 ‘빛’을 촬상소자(필름)에 닿게 하여 이를 닿게 하고 이를 처리하여 결과물을 얻도록 되어있다. 사진은 눈으로 보는 무언가를 저장해 뒀다가 다시 눈으로 보는 것이다.
핵심은 ‘빛’이다.
빛이 얼마나 오랫동안 들어오는가 혹은 얼마나 많은 양이 들어오는가에 따라 결과물이 달라지게 된다.
빛에 카메라가 얼마나 노출되는가 가 사진 찍기의 기본인 것이다.
카메라의 기능을 중심으로 알아보자.

카메라 마다 다르지만 (사진을 기준으로)
1. Auto(녹색 네모 또는 Scene) : 완전 자동
2. P : Program auto
3. Sv : Shutter Value 우선
4. Av : Aperture Value 우선 (조리개 우선)
5. M : Manual (수동)
6. B : Bulb

7. 그외 : 각자 특성이 있지만 같은 이름이라도 카메라마다 다른 경우도 있고, 보통은 잘 안쓰므로 생략

Auto
흔히 말하는 똑딱이 카메라(요즘 휴대폰 카메라 대부분)의 기능과 같다.
내장 노출계1렌즈를 통해 들어온 빛의 정도를 측정하는 장치. 노출만 측정하는 장치도 있기 때문에 굳이 내장이라고 표현 했다.감도(ISO), 플래시 팝업, 색온도 모두 자동으로 설정해서 사용자는 셔터를 누르기만 하면 된다.

Program Auto
조리개와 셔터스피드는 내장 노출계 측정 값을 기반으로 자동으로 설정된다. 하지만 감도, 플래시 사용 여부 등은 사용자의 설정에 따른다.
program auto 모드에서 사용자가 노출을 통제하고 싶은 경우는
1. 감도225-32-40-50-64-80-100-125-160-200-250-320-400-500-640-800-1000-1250-1600-2000-2500-3200-4000-5000-6400-8000-10000-12800-16000-20000-25600단위로 늘어나고, 값이 클 수록 ‘감도가 높다’고 말한다. 3원래는 필름의 규격으로 ASA 기준이었으나 ISO규격으로 통일 되었다. 과거 필름 상자를 보면 ASA니 DIN이니 하는 문구를 찾을 수 있다. 4흑백,컬러,디지털의 표준이 서로 다르다. 5일반적인 노출 값은 ISO 100을 기준으로 한다.를 변경한다.
2. EV 6Exposure: 노출 단위. 감도 1단계, 셔터스피드 1단계, 조리개값 1단계 변경은 모두 같다. 즉 셔터스피드를 한칸 움직였을 때와 조리개 값을 한칸 움직였을 때 들어오는 빛의 양은 같다는 이야기다. 값을 변경 한다.
3. 플래시를 켜거나 끈다.
위 세가지 중 하나를 선택해서 적용하면 된다.

Shutter Value (셔터 스피드 우선)
Program auto 모드에서 셔터 스피드를 추가로 변경 할 수 있다고 이해하면 된다. 이전 포스트에서 언급 한 것과 같이 셔터 버튼을 꾹 누르면 셔터가 열리게 된다. Shutter Value 우선 모드는 셔터가 열려 있는 시간을 통제하고 이를 기준으로 조리개 값을 카메라가 조정해 주는 모드이다. (당연히 설정한 감도에 영향을 받는다)

좌측은 셔터스피드 1/50초. 우측은 1/400초.

사진에서 알 수 있듯이 움직이는 날개가 얼마나 카메라에 비춰지는지에 따라 결과물이 달라진다. 즉, ‘셔터의 속도를 고정하고자 할 때’ 주로 사용하는 모드이며 이는 ‘스포츠’와 같이 무언가 빠르게 움직이는 피사체를 촬영할 때 주로 사용하는 모드이다.
아래는 예시

다리… 다리를 보자…

Aperture Value (조리개 값 우선)

Sv 모드와 달리 Program Auto 모드에서 조리개 값(F값)을 설정하는 것이 추가되고, 이 조리개 값에 맞추어 셔터 스피드를 자동으로 조정해 주는 모드이다.
조리개 우선 모드를 쓰는 경우는 보통
1. 피사계 심도7피사계 심도:초점이 맞는 범위로 생각하면 되겠다. 보통 심도 정도로 부르며, 범위가 짧을 경우 얕다고 이야기 한다. 에 따라 다른 효과를 얻고 싶을 때
2. 광원의 모양을 조절하고 싶을 때
이 두가지가 되겠다.
조리개를 많이 열 수록 구멍이 커지니까 빛이 많이 들어오고 심도는 얕아진다. 전문가가 아니니 더 알아듣기 쉽게 설명은 어렵고, 백문이 불여일견이라 했으니 예를 보자.

좌측부터 f1.7, f8, f16

0을 기준으로 초점을 맞췄을 때 조리개 값이 커질수록 심도가 깊어져서 -7까지 점점 선명해지는 것을 알 수 있다.

좌측부터 f1.7, f8, f16

우측으로 갈 수록 빛의 갈라짐이 생기는 것을 알 수 있다.

보통은 인물 사진 등 특정 ‘가까운’ 피사체를 촬영할 때 조리개를 개방하여 촬영 하는 경우가 많다. 심도가 얕으면 초점을 맞춘 사람만 선명하게 보이고 배경은 초점이 맞지 않아 흐릿하게 촬영 되므로 피사체에 집중할 수 있기 때문이다.

일반적으로 인물사진, 근접 사진을 찍을 때는 조리개를 개방하고
풍경, 정물을 찍을 때는 조리개를 닫는다.
렌즈마다 다르지만 조리개 값 5~10 사이가 화질이 가장 좋다.

M (Manual, 수동)

말 그대로 수동이다. 조리개 값을 변경한다고 해서 감도가 변하지도, 셔터 스피드가 변하지도 않는다. 단지 노출정보만 표시될 뿐이다.

B (Bulb)

수동 모드인데 셔터 스피드를 설정 할 수 없다. 그러면 조리개 우선 모드와 같은거 아니야? 질문할 수 있겠지만 그런 것이 아니고 ‘셔터를 누르고 있는 동안 셔터가 열리는 모드이다’ 설정할 수 있는 최대 셔터 속도 이상일 경우 사용한다.

정보창

현재 카메라의 상태, 측광 상태, 설정 등을 표시한다.

F 1.8 : 현재 설정된 조리개 값을 표시한다.
[ · ] : 측거점. 초점을 맞출 영역, 그리고 노출을 측정할 지점을 설정을 표시한다. 이 측거점이 많을 수록 촬영이 용이해진다. 당연히.. 비싼 카메라일 수록 측거점의 수가 많다.
[ ● ] : (측거점 아래의 사각형) : 측광 방식. 점일 경우 측광 영역이 좁고, 사각형이 꽉 차면 화면 전체의 측광 평균치를 기준으로 삼는다.
■■■■ : EV값. 노출계의 측정 값보다 설정 값이 높으면 사각형이 오른쪽으로 늘어나고, 낮으면 왼쪽으로 늘어난다. 오른쪽으로 사각형이 많을 수록 밝게 나오고(너무 높으면 그냥 하얗게 나온다) 왼쪽으로 많을 수록 어둡게 나온다. (당연히 너무 왼쪽으로 치우치면 새까맣게 찍힌다.)
□ (겹쳐진 사각형) : 드라이브 모드. 연사 모드를 의미한다. 사각형 하나일 때는 셔터를 아무리 길게 누르고 있어도 한컷만 찍힌다. (즉 한번 촬영을 한 뒤 다음 촬영을 하려면 손을 뗀 뒤 다시 셔터를 눌러야 한다.8당연한 이야기지만 Bulb 모드에서는 큰 의미가 없다.) 두개일 때는 천천히 여러장을 찍고, 세개 일 때는 더 빨리 찍는다.
※ 각 그림은 카메라 제조사, 종류에 따라 다를 수 있다.
※ 통상적으로 비싼카메라일 수록 표시되는 정보가 많다.

뷰파인더에도 표시된다.

손 모양은 Shake Reduction 기능이 활성화 된다는 것을 의미한다.

M모드를 사용해야 사진을 더 잘찍는다거나, 기기를 잘 이해한다거나 하는 것은 결코 아니다. 쉴새 없이 공이 날아다니고, 사람이 움직이는데 M모드로 설정하고 어느 세월에 공과 사람을 쫓는단 말인가?
또 기기를 잘 다룬다고 해서 좋은 사진이 나오는 것도 아니다. 어디까지나 사진은 ‘감성’의 영역이고 무엇보다도 남들이 뭐라건 내가 보기에 좋고, 의미가 있는 사진이어야 할 것이다.

전쟁터에서 총탄이 날아가는 순간에 찍은 사진이 흔들렸다 해서 못찍은 사진일까?
노출을 못맞춰서 어둡게 찍힌 할머니의 사진이 잘못 찍은 사진일까?