07Office ModeOffice Mode
원격 클라이언트가 사무실에 있는 단말인 것처럼 내부망에 녹아들게 해 주는 기능이 Office Mode 입니다. 이 장은 왜 원격 클라이언트가 LAN의 일원이 되어야 하는지, Office Mode가 IKE config mode를 통해 어떻게 내부 IP를 배정하는지, IP를 어떤 방법(IP Pool·DHCP·RADIUS·source IP 기반·사용자별)으로 나눠 주는지, lease(임대) 기간·이름 해석(WINS/DNS)·Anti-Spoofing·다중 외부 인터페이스·Office Mode Per Site 같은 동작 세부, 그리고 SmartConsole·ipassignment.conf·user.def·GuiDBEdit로 실제 구성하는 절차까지 원문의 모든 내용을 빠짐없이 풀어 정리합니다.
원격 클라이언트가 LAN의 일원이어야 하는 이유
조직 내부망에 대한 원격 접속이 보편화되면서, 원격 사용자가 내부 자원을 가능한 한 많이 쓸 수 있어야 한다는 요구가 커졌습니다. 그런데 원격 접속을 구현하면 보통 클라이언트는 예를 들어 ISP가 로컬로 배정한 IP 로 접속합니다. 심지어 라우팅 불가능한(non-routable) IP를 받아 NAT 장비 뒤에 숨는 경우도 있습니다. 이 때문에 여러 문제가 생깁니다.
- 일부 네트워킹 프로토콜이나 자원이 클라이언트의 IP가 "내부 IP"이기를 요구 합니다. 예를 들어 라우터의 ACL(access list) 이 특정 IP나 내부 IP만 네트워크 자원에 접근하도록 설정돼 있을 수 있는데, 원격 클라이언트의 IP를 미리 알 수 없으니 이를 맞춰 조정하기가 어렵 습니다.
- 라우팅 불가능한 IP를 받으면 충돌 이 생길 수 있습니다. 사내 LAN이 쓰는 비슷한 사설 주소와 부딪히거나, 다른 하이딩 NAT 장비 뒤에 있는 또 다른 클라이언트가 같은 IP를 받아 충돌할 수 있습니다.
- 두 원격 사용자가 ISP에게 같은 IP를 배정받는 경우입니다. 예를 들어 두 사용자가 호텔에서 접속하는데, 호텔이 내부 주소를 주고 나가는 트래픽을 NAT하는 식입니다. 두 사용자가 같은 IP로 내부망에 접속하면, 조직의 내부 자원이 두 사용자를 구분하기 어려워 집니다.
충돌이 실제로 어떻게 문제가 되는지 예를 보면 분명해집니다. 클라이언트가 10.0.0.1 을 받고, 이 주소가 IPSec 패킷 헤더에 들어갑니다. 패킷이 NAT를 거쳐 새 출발지 IP가 192.168.17.5 가 됩니다. Security Gateway 는 NAT된 IP를 역캡슐화(decapsulate)하고 복호화 하는데, 이때 출발지 IP가 원래의 10.0.0.1 로 되돌아갑니다. 그런데 내부에 같은 10.0.0.1 호스트가 있으면 그 패킷은 (Anti-Spoofing이 켜져 있을 때) 대개 드롭됩니다. 중복 IP가 없더라도 패킷이 내부 서버로 전달되면, 그 서버는 존재하지 않는 주소로 응답을 보내려 하게 됩니다.
Office Mode가 푸는 방법
Office Mode 는 Security Gateway가 원격 클라이언트에게 IP 주소를 배정 하게 해 줍니다. 배정은 사용자가 접속해 인증을 마친 시점 에 이루어지고, 사용자가 접속해 있는 동안 그 임대(lease)가 계속 갱신 됩니다. 이 주소는 일반 IP 주소 풀 에서 가져올 수도 있고, 사용자 그룹별로 지정한 풀 에서 가져올 수도 있습니다. 사용자별로 지정하거나 DHCP 서버 를 통해 줄 수도 있는데, DHCP를 쓰면 이름 해석(name resolution) 서비스 를 함께 활용할 수 있습니다. DNS 이름 해석을 쓰면 사내 네트워크에서 클라이언트에 접근하기가 더 쉬워 집니다.
Office Mode 동작 원리
누구에게 켤지 — 전체 또는 특정 그룹
Office Mode는 모든 사용자에게 허용 할 수도 있고, 특정 그룹에만 켤 수도 있습니다. 예를 들어 원격에서 LAN에 접속하는 관리자 그룹 처럼 특정 그룹에 권한 있는 접근을 주는 데 쓸 수 있습니다. 또 Office Mode를 도입하는 초기 단계에서, 특정 그룹에만 시범(pilot) 적용 하고 나머지 사용자는 기존 방식 그대로 쓰게 하는 데도 유용합니다.
Office Mode는 다음 환경에서 지원됩니다.
- Endpoint Security VPN
- SSL Network Extender
- Crypto
- L2TP
IKE config mode로 IP를 받는 과정
조직에 접속하면 Security Gateway를 향해 IKE 협상이 자동으로 시작 됩니다. Office Mode를 쓸 때는 IKE의 phase 1과 phase 2 사이에 config mode 라는 특별한 IKE 모드가 끼어 듭니다. 이 config mode 동안 클라이언트는 Security Gateway에게 IP를 요청 하고, DNS 서버 IP나 WINS 서버 IP 같은 다른 파라미터들도 이 방식으로 함께 받습니다.
Security Gateway가 IP를 할당하면, 클라이언트는 운영체제의 가상 어댑터(Virtual Adapter)에 그 IP를 배정 합니다. 그리고 사내 LAN으로 가는 패킷의 라우팅이 이 어댑터를 거치도록 바뀝니다. 이렇게 라우팅된 패킷은 Security Gateway가 배정한 IP를 출발지 IP로 달고 나갑니다. 그러다 진짜 어댑터로 빠져나가기 직전에, 진짜 어댑터에 배정된 외부 IP를 출발지로 삼아 IPsec 캡슐화 됩니다. 이런 식이라 라우팅 불가능한 IP도 Office Mode로 쓸 수 있습니다. Office Mode의 라우팅 불가능 주소가 IPsec 패킷 안에 감춰지기 때문입니다.
Office Mode가 동작하려면, Security Gateway가 배정한 IP가 사내 LAN에서 그 Security Gateway로 라우팅 가능해야 합니다. 그래야 LAN에서 클라이언트로 보내는 패킷이 Security Gateway를 거쳐 되돌아가도록 라우팅 됩니다(아래의 Non-flat 네트워크에서의 Office Mode와 정적 경로 참고).
한 걸음 더 — 패킷이 오가는 전 과정
Office Mode로 접속한 원격 사용자가 조직 내부 자원과 정보를 주고받을 때, 단계별로 다음 일이 벌어집니다.
- 사용자가 LAN의 어떤 자원에 접속하려 하면, 내부망을 향한 패킷이 만들어집니다. 이 패킷은 Office Mode가 설치한 가상 인터페이스를 거쳐 라우팅되고, 원격 사용자에게 할당된 IP를 출발지 로 가집니다.
- 패킷이 암호화되고, 새 캡슐화 IP 헤더 가 씌워집니다. 캡슐화 패킷의 출발지는 원격 클라이언트의 원래 IP 이고, 목적지는 Security Gateway의 IP 입니다. 이 캡슐화 패킷이 인터넷을 통해 조직으로 보내집니다.
- 조직의 Security Gateway가 패킷을 받아 역캡슐화·복호화 하면, 원격 사용자에게 할당된 출발지 IP를 단 원래 패킷 이 드러납니다. Security Gateway는 이 역캡슐화한 패킷을 목적지로 전달합니다.
- 내부 자원은 마치 내부 주소에서 온 듯한 패킷을 받습니다. 그것을 처리하고, 원격 사용자에게 할당된 (내부) IP로 응답 패킷을 되돌립니다.
- Security Gateway가 그 패킷을 받아, 원격 사용자의 원래(라우팅 가능한) IP로 암호화·캡슐화 해서 원격 사용자에게 되돌립니다.

위 그림의 각 항목은 다음과 같습니다.
| 번호 | 설명 |
|---|---|
| 1 | Host IP Address 10.0.0.1 |
| 2 | Server(서버) |
| 3 | Gateway(게이트웨이) |
| 4 | Internet(인터넷) |
| 5 | ISP Router(ISP 라우터) |
| 6 | User's machine(사용자 단말) |
앞서 본 충돌 예시를 이 흐름에 대입하면 이렇게 정리됩니다.
- 원격 호스트는 캡슐화된 패킷 안에서는 Office Mode 주소 를 쓰고, 캡슐화 헤더에서는
10.0.0.1을 씁니다. - 패킷이 새 출발지 주소
192.168.17.5로 NAT됩니다. - Security Gateway가 NAT된 IP를 역캡슐화하고 복호화하면, 출발지 IP는 Office Mode 주소 가 됩니다.
- 패킷이 내부 서버로 전달되고, 서버는 올바르게 응답 합니다.
IP 주소 배정 방법
Security Gateway가 원격 사용자에게 주는 내부 IP는 다음 방법 중 하나로 할당됩니다.
- IP Pool
- DHCP Server
IP Pool
시스템 관리자가 원격 클라이언트 단말에 쓸 IP 주소 범위를 지정 합니다. Office Mode로 접속을 요청하는 각 클라이언트는 이 풀에서 고유한 IP 하나 를 받습니다.
출발지 IP 기반 IP 배정 (IP Assignment Based on Source IP Address)
IP Pool의 주소를 원격 사용자의 출발지 IP에 따라 예약·배정 할 수도 있습니다. 원격 호스트가 Security Gateway에 접속하면 그 IP가 미리 정의한 출발지 IP 범위와 비교 됩니다. IP가 그 범위 안에 있으면, 그 용도로 따로 떼어 둔 범위에서 Office Mode IP 를 받습니다. 이렇게 예약된 풀의 주소들에는 이들 원격 사용자에게만 적용되는 별도의 접근 권한 을 줄 수도 있습니다.
DHCP Server
DHCP(Dynamic Host Configuration Protocol) 서버로 Office Mode 클라이언트의 IP를 할당할 수 있습니다. 원격 사용자가 Office Mode로 Security Gateway에 접속하면, Security Gateway는 DHCP 서버에게 Office Mode 사용자용으로 지정된 범위에서 IP를 배정해 달라고 요청 합니다.
Security Gateway의 DHCP 요청에는 DHCP 클라이언트가 자신을 구별할 수 있게 해 주는 여러 클라이언트 속성(attribute) 이 들어갈 수 있습니다. 이 속성들은 클라이언트 쪽 운영체제에 미리 설정 되며, 여러 DHCP 서버가 IP를 나눠 줄 때 활용할 수 있습니다. Security Gateway의 DHCP 요청에는 다음 속성이 담길 수 있습니다.
- Host Name (호스트 이름)
- Fully Qualified Domain Name (FQDN) (전체 도메인 이름)
- Vendor Class (벤더 클래스)
- User Class (사용자 클래스)
RADIUS Server
RADIUS 서버로 원격 사용자를 인증할 수 있습니다. 원격 사용자가 Security Gateway에 접속하면 사용자 이름과 암호가 RADIUS 서버로 전달 되고, RADIUS 서버가 정보를 확인해 사용자를 인증합니다. RADIUS 서버는 IP 주소 할당까지 하도록 설정할 수도 있습니다.
Non-flat 네트워크에서의 Office Mode와 정적 경로(Static Route)
flat 네트워크 란 모든 단말이 브리지나 라우터를 거치지 않고 서로 도달 할 수 있는 네트워크입니다. 네트워크의 한 세그먼트가 곧 "flat 네트워크"입니다. 정적 경로(static route) 는 관리자가 라우터에 수동으로 지정 하는 경로로, 네트워크가 바뀌면 수동으로 갱신 해 줘야 합니다.
LAN이 non-flat(단말들이 라우터·브리지를 거쳐 서로 도달) 이라면, 원격 클라이언트의 OM(Office Mode) 주소 를 라우터들에 정적으로 등록 해 줘야 합니다. 그래야 LAN에서 원격 클라이언트를 향하는 패킷이 Security Gateway로 올바르게 라우팅 됩니다.
IP 주소 임대(Lease) 기간
원격 사용자 단말이 Office Mode IP를 받으면, 일정 시간 동안만 그 주소를 쓸 수 있습니다. 이 기간을 IP address lease duration(임대 기간) 이라고 합니다. 원격 클라이언트는 임대 기간의 절반이 지나면 자동으로 갱신을 요청 합니다. 임대 기간이 60분이면 30분 뒤에 갱신 요청 을 보냅니다. 갱신이 받아들여지면 다시 30분 뒤 에 또 요청합니다. 갱신이 실패하면 남은 시간의 절반마다 다시 시도합니다 — 예를 들어 15분, 7.5분 식으로 점점 짧아집니다. 끝내 갱신을 못 받고 60분이 다 지나면 터널 연결이 끊깁니다. 다시 연결하려면 원격 사용자가 Security Gateway에 재접속 해야 하고, 재접속 시 IKE 재협상이 시작되어 새 터널 이 만들어집니다.
임대 기간은 어디서 IP를 받느냐에 따라 누가 정하는지가 다릅니다.
- IP가 Security Gateway의 미리 정의된 IP Pool 에서 나오면, Security Gateway가 임대 기간을 결정 합니다. 기본값은 15분 입니다.
- DHCP 서버 로 IP를 배정하면, DHCP 서버의 설정 이 임대 기간을 결정합니다. 사용자가 끊었다가 짧은 시간 안에 재접속 하면, 이전과 같은 IP 를 받을 가능성이 높습니다.
이름 해석 사용 — WINS와 DNS
원격 사용자가 내부망 자원에 더 쉽게 접근하도록, 관리자는 WINS·DNS 서버를 지정 할 수 있습니다. 이 정보는 IKE config mode 동안 IP 할당 정보와 함께 원격 사용자에게 전달 되고, 사용자가 조직 내부 자원에 접근하려 할 때 운영체제가 이름→IP 변환 에 사용합니다.
Anti-Spoofing
Anti-Spoofing 에서는 관리자가 Security Gateway의 각 인터페이스에 어떤 IP가 들어올 것으로 예상되는지를 설정 합니다. Anti-Spoofing은 IP가 그에 해당하는 Security Gateway 인터페이스의 맥락에서만 수신·송신 되도록 보장합니다.
그런데 Office Mode는 Anti-Spoofing에 문제를 일으킵니다. 클라이언트 단말이 인터넷용 외부 인터페이스나 무선 LAN 인터페이스 등 여러 인터페이스로 접속·인증 할 수 있어서, Office Mode IP가 둘 이상의 인터페이스에서 나타날 수 있기 때문입니다. Office Mode는 이를 보완해, 마주친 Office Mode IP가 실제로 그 사용자에게 배정된 것인지를, IPsec 캡슐화 패킷의 출발지 IP(즉 외부 IP)에서 인증된 사실과 대조해 확인 함으로써 Anti-Spoofing을 강화합니다.
다중 외부 인터페이스에서 Office Mode 사용하기
VPN에서는 보통 암호화 전에 라우팅 이 이루어집니다. Office Mode의 복잡한 시나리오 중 Security Gateway에 외부 인터페이스가 여러 개 있는 경우, 이것이 문제를 일으킬 수 있습니다.
이런 시나리오에서 원격 사용자의 가상 IP를 향하는 패킷은 Security Gateway의 한 외부 인터페이스로 라우팅될 것으로 표시 됩니다. 최초 라우팅 결정이 내려진 뒤에야 패킷이 IPsec 캡슐화 되는데, 캡슐화 후에는 목적지 IP가 클라이언트의 원래 IP로 바뀝니다. 그러면 캡슐화 패킷이 원래 패킷과는 다른 외부 인터페이스를 거쳐야 했을 수 있고(목적지 IP가 바뀌었으므로), 이때 라우팅 오류 가 생깁니다. Office Mode에는 모든 Office Mode 패킷이 캡슐화된 뒤에 라우팅을 거치도록 보장하는 기능이 있어 이를 해결합니다.
Office Mode Per Site
원격 사용자가 접속해 Security Gateway에게서 Office Mode IP를 받으면, 그 Security Gateway의 암호화 도메인(encryption domain)으로 가는 모든 연결 이 그 Office Mode IP를 내부 출발지 IP 로 달고 나갑니다. 암호화 도메인 안의 호스트들은 이 Office Mode IP를 원격 사용자의 IP로 인식 합니다.
특정 Security Gateway가 배정한 Office Mode IP는 그 자신의 암호화 도메인뿐 아니라 이웃 암호화 도메인에서도 쓸 수 있습니다. 단, 이웃 암호화 도메인은 배정한 Security Gateway와 같은 VPN 커뮤니티 멤버인 Security Gateway 뒤에 있어야 합니다. 원격 호스트의 연결이 받은 Office Mode IP에 의존 하므로, IP를 발급한 Security Gateway가 사용 불가능해지면 그 사이트로의 모든 연결이 끊깁니다.
사이트의 모든 Security Gateway가 원격 사용자의 Office Mode IP를 인식하려면, Office Mode IP 범위를 모든 Security Gateway가 알고 있어야 하고, 그 IP 범위가 모든 네트워크에서 라우팅 가능 해야 합니다. 다만 Office Mode Per Site 기능을 쓰는 동안에는 IP-per-user 기능을 함께 쓸 수 없습니다.

위 그림의 각 항목은 다음과 같습니다.
| 번호 | 설명 |
|---|---|
| 1 | Security Gateway 1 |
| 2 | VPN Domain A |
| 3 | Internet(인터넷) |
| 4 | Remote Host(원격 호스트) |
| 5 | Security Gateway 2 |
| 6 | VPN Domain B |
이 시나리오의 흐름은 다음과 같습니다.
- 원격 사용자가 Security Gateway 1 에 접속합니다.
- Security Gateway 1 이 원격 사용자에게 Office Mode IP를 배정합니다.
- 여전히 Security Gateway 1에 접속해 있는 상태에서, 원격 사용자는 Security Gateway 1이 발급한 Office Mode IP를 써서 Security Gateway 2 뒤의 호스트에도 접속할 수 있습니다.
사용자별 IP 주소 활성화 (IP Address per User)
일부 구성에서는 라우터나 다른 장치가 네트워크 일부 구역에 대한 접근을 특정 IP에만 허용 합니다. Office Mode로 접속하는 원격 사용자에게 지정한 IP 하나, 또는 지정한 범위의 IP 를 줄 수 있고, 그러면 그 라우터를 통과할 수 있게 됩니다.
IP 배정에는 DHCP 서버 또는 IP Pool 을 쓸 수 있습니다.
DHCP Server로 사용자별 IP 배정하기
DHCP 서버가 할당하는 Office Mode 주소를 구성하려면 다음과 같이 합니다.
- SmartConsole 에서 Gateways & Servers 를 클릭하고 Security Gateway를 더블클릭합니다. Security Gateway Properties 창이 열리며 General Properties 페이지가 보입니다.
- 탐색 트리에서 VPN Clients > Office Mode 를 클릭합니다.
- 그룹 또는 전체 사용자 에 대해 Office Mode를 켭니다.
- Office Mode Method 섹션에서 다음 옵션을 선택합니다.
- Using one of the following methods 를 클릭합니다.
- Automatic (using DHCP) 를 클릭합니다.
- MAC address for DHCP allocation 을 클릭하고, calculated per user name 을 선택합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치(Install)합니다.
- Security Gateway의 명령줄에 접속합니다.
- 다음 명령으로 사용자에게 배정된 MAC 주소를 확인합니다.
vpn macutil <username>
- DHCP 서버에서 IP 주소와 MAC 주소를 지정해 새 예약(reservation)을 만들어, 그 IP를 해당 사용자 전용으로 배정합니다.
`ipassignment.conf` 파일
Security Gateway의 $FWDIR/conf/ipassignment.conf 파일은 IP-per-user 기능을 구현 하는 데 쓰입니다. 사용자가 Office Mode 나 L2TP 클라이언트로 접속할 때, 특정 사용자에게 특정 주소를, 특정 그룹에 특정 범위를 배정 할 수 있게 해 줍니다.
`ipassignment.conf` 예시 파일
# This file is used to implement the IP-per-user feature. It allows the
# administrator to assign specific addresses to specific users or specific
# ranges to specific groups when they connect using Office Mode or L2TP.
#
# The format of this file is simple: Each line specifies the target
# gateway, the IP address (or addresses) we wish to assign and the user
# (or group) name as in the following examples:
#
# Gateway Type IP Address User Name
# ============= ===== ======================================== =========================================
# Paris-GW, 10.5.5.8, Jean
# Brasilia, addr 10.6.5.8, wins=(192.168.3.2,192.168.3.3) Joao
# comments are allowed
# Miami, addr 10.7.5.8, dns=(192.168.3.7,192.168.3.8) CN=John,OU=users,O=cpmgmt.acme.com.gibeuu
# 10.1.1.2 range 100.107.105.110-100.107.105.119/24 Finance
# * net 10.7.5.32/28 suffix=(acct.acme.com) Accounting
#
# Note that real records do not begin with a pound-sign (#), and the commas
# are optional. Invalid lines are treated as comments. Also, the
# user name may be followed by a pound-sign and a comment.
#
# The first item is the gateway name or address. On lines that assign
# multiple IP addresses to a group of users or a network (range or net
# in the second item) this should be the physical address of the gateway,
# or an asterisk (*) to signify all gateways.
# On lines that assign one IP for one user this could be the gateway
# name as well. A gateway will only honor lines that refer to it.
#
# The second item is a descriptor. It can be 'addr', 'range' or 'net'.
# 'addr' specifies one IP for one user. This prefix is optional.
# 'range' and 'net' specify a range of addresses. These prefixes are
# required.
#
# The third item is the IP address or addresses. In the case of a single
# address, it is specified in standard dotted decimal format.
# ranges can be specified either by the first and last IP address, or using
# a net specification. In either case you need to also specify the subnet
# mask length ('/24' means 255.255.255.0). With a range, this is the subnet
# mask. With a net it is both the subnet mask and it also determines the
# addresses in the range.
#
# After the third item come any of three keyword parameters. These are
# specifications for WINS (or NBNS) servers, for DNS servers and a DNS
# suffix. The parameters themselves are on the format 'keyword=(params)'
# where the params can be one address (such as "192.168.3.2"), several
# IP addresses (such as "192.168.3.2,192.168.3.3") or a string (only
# for the DNS suffix. The relevant keywords are "dns", "wins" and
# "suffix" and they are not case-sensitive.
# Inside the keyword parameters there must be no spaces or any other
# extra characters. These will cause the entire line to be ignored.
#
# The last item is the user name. This can be a common name if the
# user authenticates with some username/password method (like hybrid
# or MD5-Challenge) or a DN if the user authenticates with a
# certificate.
#이 파일의 형식을 풀어 정리하면 다음과 같습니다.
- 실제 레코드는
#으로 시작하지 않으며, 쉼표는 선택 사항 입니다. 잘못된 줄은 주석으로 취급 되고, 사용자 이름 뒤에#과 주석 을 붙여도 됩니다. - 첫 번째 항목 은 게이트웨이 이름 또는 주소 입니다. 여러 IP를 그룹·네트워크(두 번째 항목이
range나net)에 배정하는 줄에서는 게이트웨이의 물리 주소 이거나, 모든 게이트웨이를 뜻하는*이어야 합니다. 한 사용자에게 IP 하나를 주는 줄에서는 게이트웨이 이름 도 됩니다. 게이트웨이는 자신을 가리키는 줄만 따릅니다. - 두 번째 항목 은 설명자(descriptor) 입니다.
addr·range·net중 하나입니다.addr는 한 사용자에게 IP 하나(접두사 생략 가능),range와net은 주소 범위(접두사 필수) 를 뜻합니다. - 세 번째 항목 은 IP 주소(들) 입니다. 단일 주소는 점 십진(dotted decimal) 표기, 범위는 처음~마지막 IP 또는 net 표기 로 지정하며, 어느 쪽이든 서브넷 마스크 길이(
/24는 255.255.255.0) 도 함께 지정해야 합니다. - 세 번째 항목 뒤에는 세 가지 키워드 파라미터 가 올 수 있습니다 — WINS(또는 NBNS) 서버, DNS 서버, DNS suffix 지정입니다. 형식은
keyword=(params)이고, params는 주소 하나·여러 IP·문자열(DNS suffix만)일 수 있습니다. 키워드는dns·wins·suffix이며 대소문자를 가리지 않습니다. 키워드 파라미터 안에 공백이나 군더더기 문자가 있으면 그 줄 전체가 무시 됩니다. - 마지막 항목 은 사용자 이름 입니다. hybrid나 MD5-Challenge 같은 사용자명/암호 방식으로 인증하면 common name, 인증서로 인증하면 DN 일 수 있습니다.
Office Mode 고려 사항
IP Pool 대 DHCP
IP를 방화벽(IP Pool)이 배정할지, DHCP 서버가 배정할지 는 네트워크 관리와 비용의 문제입니다. 어떤 관리자는 동적 IP를 한곳에서 관리 하길 원하는데, 그런 경우 중앙 DHCP 서버 가 낫습니다. 게다가 DHCP를 쓰면 클러스터가 단일 풀에서 모든 주소를 배정 할 수 있는데, 방화벽 IP Pool은 클러스터 멤버마다 다른 풀 을 둬야 합니다. 반대로 DHCP 서버 구매를 불필요한 비용 으로 보는 입장이라면 IP Pool 방식 이 나을 수 있습니다.
라우팅 테이블 수정
Office Mode가 배정한 IP는 사내 LAN 라우터들이 그 주소를 배정한 Security Gateway(또는 클러스터)로 라우팅 해야 합니다. 그래야 원격 접속 Office Mode 사용자를 향하는 패킷이 Security Gateway에 도달 해 캡슐화되어 클라이언트로 되돌아갑니다. 이를 위해 조직의 라우팅 테이블을 수정 해야 할 수 있습니다.
Office Mode 구성하기
Office Mode를 구성하기 전에 표준 VPN 원격 접속이 이미 구성되어 있다고 전제 합니다.
구성을 시작하기 전에, Office Mode 원격 사용자에게 쓸 내부 주소 공간을 먼저 선택 해야 합니다. 이 공간은 기업 도메인 안에서 쓰는 주소와 충돌하지 않는 한 어떤 IP 공간이어도 되며, 10.x.x.x 처럼 인터넷에서 라우팅되지 않는 주소 공간 을 골라도 됩니다.
Office Mode의 기본 구성은 IP Pool 을 쓰는 방식입니다. DHCP 로 주소를 할당하도록 구성할 수도 있습니다(아래 DHCP 구성 참고).
IP Pool 구성
먼저 모든 내부 라우터가, Office Mode 사용자용으로 예약한 내부 주소 공간으로 향하는 트래픽을 모두 Security Gateway를 거쳐 라우팅 하도록 설정되어 있어야 합니다.
IP Pool로 기본 Office Mode를 배포하려면 다음과 같이 합니다.
- Objects Bar 에서 New > Network 를 클릭합니다. New Network 창이 열립니다.
- General 탭에서 IP 주소 풀 범위를 설정합니다.
- a. 네트워크의 Name 을 입력합니다.
- b. Network Address 에 첫 IP 주소 를 입력합니다.
- c. Net Mask 에 필요한 IP 개수에 맞는 서브넷 마스크 를 입력합니다(예:
255.255.255.0을 넣으면10.130.56.1~10.130.56.254의 254개 IP가 Office Mode 주소로 지정됩니다). - d. OK 를 클릭하고 변경을 publish 합니다.
- Gateways & Servers 를 클릭하고 Security Gateway를 더블클릭합니다. Security Gateway Properties 창이 열리며 General Properties 페이지가 보입니다.
- 탐색 트리에서 VPN Clients > Office Mode 를 클릭합니다.
- 다음 설정을 구성합니다.
- a. Office Mode Method 섹션에서:
- i. Using one of the following methods 를 선택합니다.
- ii. Manual (using IP pool) 을 선택합니다. Automatic (using DHCP) 옵션은 SSL Network Extender와 함께 쓸 때 지원되지 않습니다.
- iii. Allocate IP from network 드롭다운에서 해당 IP Pool 네트워크 객체 를 선택합니다.
- a. Office Mode Method 섹션에서:
- iv. Optional Parameters 를 클릭하고, IP lease duration 필드에 원격 호스트가 IP를 쓰는 분(minute) 수 를 입력합니다. OK 를 클릭합니다.
- b. Anti-Spoofing 섹션에서:
- i. Perform Anti-Spoofing on Office Mode addresses 를 선택합니다.
- ii. (선택) Additional IP Address for Anti-Spoofing 드롭다운에서 해당 객체를 선택합니다.
- b. Anti-Spoofing 섹션에서:
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
Office Mode 사용자가 쓸 WINS·DNS 서버를 지정하려면 다음과 같이 합니다.
- DNS 서버 객체를 만듭니다.
- a. Objects 패널에서 New > Host 를 클릭합니다.
- b. General 페이지에서 Object Name 과 IP 주소 설정을 입력합니다.
- c. Servers 페이지에서 DNS Server 를 클릭합니다.
- d. OK 를 클릭합니다.
- WINS 서버 객체를 만듭니다.
- a. Objects 패널에서 New > Host 를 클릭합니다.
- b. General 페이지에서 Object Name 과 IP 주소 설정을 입력합니다.
- c. OK 를 클릭합니다.
- SmartConsole 세션을 publish 합니다.
- 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다.
- Security Gateway / Cluster 객체를 더블클릭합니다.
- 탐색 트리에서 VPN Clients > Office Mode 를 클릭합니다.
- Optional Parameters 를 클릭합니다.
- DNS Servers 섹션에서 Primary 를 선택하고 해당 DNS 서버 객체를 선택합니다.
- WINS Servers 섹션에서 Primary 를 선택하고 해당 WINS 서버 객체를 선택합니다.
- OK 를 클릭합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
출발지 IP 기반 IP 배정 구성
IP Assignment Based on Source IP Address 기능의 설정은 $FWDIR/conf/user.def 파일에서 구성합니다. 이 파일은 원격 접속용 게이트웨이를 관리하는 Security Management Server 에 있습니다.
출발지 IP 범위와 Office Mode 주소 범위 를 정의해야 하며, $FWDIR/conf/user.def 파일에는 여러 게이트웨이에 대한 여러 정의 가 담길 수 있습니다. 각 줄에서 첫 번째 범위가 출발지 IP 범위, 두 번째 범위가 Office Mode IP 범위 입니다.
예를 들면 다음과 같습니다.
all@module1 om_per_src_range={<10.10.5.0, 10.10.5.129; 1.1.1.5,
1.1.1.87>,
<10.10.9.0, 10.10.9.255; 1.1.1.88,
1.1.1.95>};
all@module2 om_per_src_range={<70.70.70.4, 70.70.70.90;
8.8.8.6,8.8.8.86>};이 시나리오에서는 다음과 같습니다.
(10.10.5.0, 10.10.5.129),(10.10.9.0, 10.10.9.255),(70.70.70.4, 70.70.70.90)은 VPN 원격 클라이언트의 출발지 IP 범위 입니다.(1.1.1.5, 1.1.1.87),(1.1.1.88, 1.1.1.95),(8.8.8.6, 8.8.8.68)은 같은 줄에 정의된 출발지 IP 범위에 드는 원격 사용자에게 배정될 Office Mode IP 입니다.- 예: 출발지 IP가
10.10.5.0~10.10.5.129사이인 사용자는1.1.1.5~1.1.1.87사이의 Office Mode 주소를 받습니다.
출발지 IP 기반 배정은 Security Management Server의 $FWDIR/conf/objects_5_0.c 파일에 있는 플래그(flag)로 활성화 합니다. Security Gateway 객체에 속성을 추가하려면 다음과 같이 합니다.
- Database Tool(GuiDBEdit Tool) 로 Security Management Server(Domain Management Server)에 접속합니다.
- 왼쪽 위 창에서 Global Properties > Properties 로 이동합니다.
- 오른쪽 위 창에서 firewall_properties 를 선택합니다.
- 아래쪽 창에서
om_use_ip_src_range파라미터를 편집해 다음 값 중 하나를 선택합니다.
| 값 | 의미 |
|---|---|
exclusively | 원격 호스트 IP가 출발지 범위에서 발견되지 않으면, 원격 사용자는 Office Mode IP를 아예 받지 못합니다. |
true | 원격 호스트 IP가 출발지 범위에서 발견되지 않으면, 다른 방법으로 Office Mode IP를 받습니다. |
false | 이 파라미터를 쓰지 않습니다(기본값). |
`ipassignment.conf` 파일을 통한 Office Mode
Security Management Server에서 만든 Office Mode 설정을 덮어쓸 수(override) 있습니다. Check Point Security Gateway의 $FWDIR/conf 에 있는 평문 파일 ipassignment.conf 를 편집하면, Security Gateway는 Security Management Server에 정의된 객체 설정 대신 이 파일의 Office Mode 설정을 사용 합니다.
ipassignment.conf 파일이 제어하는 항목은 다음과 같습니다.
- 사용자/그룹별 IP — 특정 사용자나 그룹이 항상 같은 Office Mode 주소를 받도록 합니다. 관리자가 사용자에게 특정 주소를, 그룹에 특정 IP 범위·네트워크를 Office Mode 접속 시 배정할 수 있게 해 줍니다.
- 특정 사용자·그룹에 대한 다른 WINS 서버.
- 다른 DNS 서버.
- 파일의 각 항목마다 다른 DNS 도메인 suffix.

서브넷 마스크와 Office Mode 주소
ipassignment.conf 파일로는 단일 사용자에게 서브넷 마스크를 배정할 수 없습니다. IP Pool을 쓰면 마스크는 네트워크 객체에서 가져오고, DHCP를 쓰면 255.255.255.0 으로 기본 설정 됩니다.
구문 검사하기 (Checking the Syntax)
ipassignment.conf 파일의 구문이 올바른지 vpn ipafile_check 명령으로 확인할 수 있습니다.
From a shell prompt run: vpn ipafile_check ipassignment.conf두 파라미터는 다음과 같습니다.
| 파라미터 | 의미 |
|---|---|
warn | 오류를 보여 줍니다. |
detail | 모든 세부 정보를 보여 줍니다. |
예시는 다음과 같습니다.
[Expert@MyGW:0]# vpn ipafile_check ipassignment.conf warn
Reading file records...
Invalid IP address specification in line 0057
Invalid IP address specification in line 0058
Invalid subnet in line 0060
[Expert@MyGW:0]# vpn ipafile_check ipassignment.conf detail
Reading file records...
Line 0051 is a comment (starts with #)
Line 0052 is a comment (starts with #)
Line 0053 is a comment (starts with #)
Line 0054 is a comment (starts with #)
Line 0055 is a comment (starts with #)
Line 0056 ignored because it is empty
Invalid IP address specification in line 0057
Invalid IP address specification in line 0058
line 0059 is OK. User="paul"
Invalid subnet in line 0060
line 0061 is OK. Group="dns=1.1.1.1
Line 0062 ignored because it is empty
Line 0063 ignored because it is empty
Could not read line 64 in conf file - maybe EOF
[Expert@MyGW:0]#DHCP 구성
DHCP 서버로 Office Mode를 구성하려면 다음과 같이 합니다.
- DHCP 서버 설정에서 Office Mode 사용자용 IP 주소 공간(예:
10.130.56.0)이 지정 되어 있는지 확인합니다. - Objects Bar 에서 New > Host 를 클릭합니다.
- 이름, IP 주소, 서브넷 마스크 설정을 구성합니다.
- OK 를 클릭하고 변경을 publish 합니다.
- Remote Access Security Gateway 객체를 더블클릭합니다. Security Gateway Properties 창이 열리며 General Properties 페이지가 보입니다.
- 탐색 트리에서 VPN Clients > Office Mode 를 클릭합니다.
- 다음 설정을 구성합니다.
- a. Automatic (use DHCP) 를 클릭합니다.
- b. Use specific DHCP server 에서 DHCP 서버를 선택합니다.
- c. Virtual IP address for DHCP server replies 에, Office Mode용으로 지정된 IP의 서브네트워크에 속한 IP 하나 를 입력합니다. Office Mode는 DHCP Relay 방식 을 지원하므로, DHCP 서버가 응답을 어디로 보낼지 지정할 수 있습니다. DHCP 서버에서 이 주소로 가는 패킷이 Security Gateway를 거치도록 DHCP 서버와 내부 라우터의 라우팅을 조정해야 합니다.
- d. (선택) Additional IP addresses for Anti-Spoofing 에서, DHCP 서버의 Office Mode용으로 떼어 둔 IP 범위로 만든 네트워크 객체 를 선택합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
DHCP 서버의 Office Mode용 새 네트워크 객체를 만들려면 다음과 같이 합니다.
- Objects Bar 에서 New > Network 를 클릭합니다. New Network 창이 열립니다.
- Network Address 에 사용하는 첫 주소(예:
10.130.56.0) 를 입력합니다. - Net Mask 에 사용하는 주소 개수에 맞는 서브넷 마스크 를 입력합니다. 예를 들어
255.255.255.0은10.130.56.1~10.130.56.254의 254개 IP를 DHCP 서버의 Office Mode 주소로 떼어 둡니다. - OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
- 모든 내부 라우터가, Office Mode 사용자용으로 예약한 내부 주소 공간으로 향하는 트래픽을 Security Gateway를 거쳐 라우팅 하도록 설정되어 있는지 확인합니다. 위 예시라면
10.130.56.0C 클래스 서브네트워크로 가는 경로를 Security Gateway의 IP를 통해 추가해야 합니다. - 원격 접속 클라이언트도 Office Mode를 쓰도록 구성 되어 있는지 확인합니다.
Office Mode — RADIUS 서버 사용
RADIUS 서버가 IP 주소를 할당하도록 구성하려면 다음과 같이 합니다.
- Objects Bar 에서 Servers > RADIUS 를 클릭합니다.
- RADIUS 서버를 마우스 오른쪽 클릭하고 Edit 를 클릭합니다. RADIUS Server Properties 창이 열립니다.
- Accounting 탭을 클릭합니다.
- Enable IP Pool Management 를 선택합니다.
- RADIUS 서버가 원격 사용자와 통신할 때 쓰는 서비스(service) 를 선택합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
RADIUS 서버가 원격 사용자 인증을 수행하도록 구성하려면 다음과 같이 합니다.
- SmartConsole 에서 Gateways & Servers 를 클릭하고 Security Gateway를 더블클릭합니다. Security Gateway Properties 창이 열리며 General Properties 페이지가 보입니다.
- 탐색 트리에서 VPN Clients > Office Mode 를 클릭합니다.
- Office Mode Method 섹션에서 From the RADIUS server used to authenticate the user 를 클릭합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.
첫 Office Mode IP 사용 (Use First Office Mode IP)
모든 게이트웨이가 Office Mode로 동작하도록 구성하려면 다음과 같이 합니다.
- Menu 에서 Global Properties 를 클릭합니다.
- 탐색 트리에서 Remote Access > VPN - Advanced 를 클릭합니다.
- Office Mode 섹션에서 Use first allocated Office Mode IP address for all connections to the Security Gateways of the site 를 클릭합니다.
- OK 를 클릭합니다.
- Access Control Policy 를 설치합니다.