openvpn on centos5

다즐링의 이미지

원래 쓰던 mysql innodb tuning 은 잠깐 읽으시는 분들을 애타게 하기위해 내버려두고
openvpn 설정에 대해서 잠깐 기록하겠습니다.

written by 배권한 a.k.a 다즐링 at 2008.07.08

=== chapter.1 configure dag ===

먼저 시스템은 centos 라고 가정합니다.
yum 을 사용한다고 가정합시다.

rpmforge 를 깝니다.

http://dag.wieers.com/rpm/packages/rpmforge-release/ 페이지에 가서

자신의 시스템에 맞는 패키지를 받아서 깔아줍니다.

현재 centos5 i386 이므로..

rpm -Uvh http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

이렇게 깔아주시면 되겠습니다.

깔아주시면 yum 저장소가 추가가 됩니다.

=== chapter.2 install openvpn ===

yum install openvpn

해주면 그냥 깔립니다. -_-;

=== chapter.3 configure openvpn ==

openvpn 은 좀 복잡한것이 암호화라던가 그런 것들이 좀 귀찬습니다.
그런데 패키지로 깔면 아주 간단합니다.

현재 패키지에는 ( 2008년 7월자 ) /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/

이 디렉토리에 들어갑니다.

vars 파일의 마지막 부분을 편집합니다.

export KEY_COUNTRY="KR"
export KEY_PROVINCE="NA"
export KEY_CITY="Seoul"
export KEY_ORG="Double-xxxxxx"
export KEY_EMAIL="darjeeling@xmail.com"

그리고 환경변수를 설정하고 키들을 만들어줍시다.

source ./vars
./build-ca
./build-key-server server
./build-dh

각각의 사용자에 맞는 키를 만들어줍니다.

./build-key dj

그리고 /etc/openvpn 디렉토리에서 설정을 해줍니다.

cp /usr/share/doc/openvpn-2.0.9/sample-config-files/* /etc/openvpn

그리고 /etc/init.d/openvpn 을 열어보시면 아시겠지만.

openvpn 은 /etc/openvpn/openvpn-startup.sh 로 실행을 해줍니다.
( 파일을 열어보시면 알겠지만 firewall.sh 실행하는 부분이 있는데 필요없으면 삭제합시다 )
( 파일의 제일밑에 보시면 vpn 을 여러개 여는 부분이 있는데 알아서 설정해줍니다 )
그리고 /etc/openvpn/*.conf 파일을 열어서 vpn 을 실행해줍니다.
( 클라이언트든 써버든 다 해줍니다 )
/etc/openvpn 에서 server.conf 를 제외하고 모든 conf 파일을 삭제해줍시다.
server.conf 를 읽어보고 적당히 설정해줍니다.

ca , cert , keys 값들은 keys 디렉토리를 만들어서 복사해줍니다.
ca keys/ca.crt
cert keys/server.crt
key keys/server.key

server 는 vpn 이 사용할 서브넷을 설정해주는 것입니다.

server 10.1.2.0 255.255.255.0
위는 vpn 에 클라이언트가 접속하면 10.1.2.x 중 하나를 준다는 말입니다.

만약 서버대역이 타 대역에 있다면 push 를 추가해줍니다.
push "route 10.10.10.0 255.255.255.0"
( 써버가 10.10.10.x 대역에 있습니다. )

라우팅도 추가하여 줍니다.
route 10.1.2.0 255.255.255.0

그리고 서버대역 ( 10.10.10.x ) 의 컴퓨터에 라우팅 테이블을 잡아줍니다.
route add -net 10.1.2.0 netmask 255.255.255.0 gw 10.10.10.1
( 10.10.10.1 은 gateway 이고 vpn 써버에 물려 있는 내부 ip 입니다 )

이제 써버를 켭시다. /etc/init.d/openvpn start

이제 아래를 참조하여 클라이언트를 설정해서 테스트 해봅시다.
http://wiki.kldp.org/wiki.php/OpenVPN#s-1.5

클라이언트는 위에서 만든..
ca.crt
dj.key
dj.crt 파일이 필요합니다.

끝 -.-;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.