RadarURL

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

OpenVPN 을 통한 VPN 구현(id/pass)

OpenVPN 을 통한 VPN 구현
  -서버 : 리눅스
  -클라이언트 : Windows XP, Linux

0. 내가 원한는 것.
 1) 내가 어디에 있든 사설망에 접속할 수 있어야 한다.
    - 사설망 모든 자원 활용(사설의 모든 IP, 모든 PORT)
    - 요즘 ISP에서는 특정 포트를 막는다(예) samba, MS-SQL 포트)
 2) 사설망은 인터넷을 통해도 안전해야 한다. (SSL 암호화 제공)
 3) 사설망의 다른 PC(클라이언트)들과 통신이 가능해야 한다.
 4) 접속에 있어 ID/PASS인증을 거친다. (인증서 뿐만 아니라)
 5) 어디에 있든 사설망의 게이트웨이를 통해 인터넷에 접속한다.
    (외부에 알려지는건 내부 게이트웨이 IP가 보인다.)


1. 시스템 구성
  한대의 VPN서버에 여러대의 VPN 클라이언트들이 붙는 형태
  각 VPN클라이언트 끼리 통신 또한 가능해야 한다.
  -서버 : 리눅스
  -클라이언트 : Windows XP, Linux (RedHat 9.0)
  -네트웍 : 10.1.1.0 (10.1.1.1 ~ 10.1.1.255)
  -사용포트 : 1194/UDP

2. OpenVPN설치(서버)

 ## lzo설치 ( 실시간 압축 전송 라이브러리)
 #http://dag.wieers.com/packages/lzo/ 에서 적당한 버전의 rpm을 받는다.
 # 난 SULinux 1.0 이니 , RHEL4 버전을 받는다.
 wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.2.el4.rf.i386.rpm
 wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.2.el4.rf.i386.rpm
 rpm -Uvh lzo*

 ## open vpn 받아서 rpm 만들고 설치
 wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
 rpmbuild -tb openvpn-2.0.7.tar.gz
 rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.7-1.i386.rpm

### 설치되는 파일 및 디렉토리들
  /etc/openvpn
  /etc/rc.d/init.d/openvpn
  /usr/sbin/openvpn
  /usr/share/doc/openvpn-2.0.7/*
  /usr/share/man/man8/openvpn.8.gz
  /usr/share/openvpn
  /usr/share/openvpn/plugin/*
###############################


3. 인증서 생성 - 서버
  인증성 생성은 필수이다. 다음과 같이 생성한다.

 1) CA 생성 (상위 인증기관)
   cd /usr/share/doc/openvpn-2.0.7/easy-rsa/
   #vars 파일을 열어서 맨 마지막 줄을 수정한다.!!
     export KEY_COUNTRY=KR
     export KEY_PROVINCE=NA
     export KEY_CITY=BUSAN
     export KEY_ORG="superuser.co.kr"
     export KEY_EMAIL="doly@suidc.com"
  ####################################
  #인증서 생성시 마다 넣는게 귀찮아서 이렇게 정의 하는 것이니 하지 않아도 무관^^;
  . ./vars
  ## 위 명령은 , vars내용을 include한다는 명령이다.
  ./clean-all
  ## 기존에 생성된 것이 있으면 모두 삭제한다.
  ./build-ca
  ## CA 인증서를 생성한다.
  ## 이렇게하면 keys라는 폴더에 ca.key(개인키), ca.crt(공개인증서)가 생성된것을 확인한다.
  ## ca.crt파일은 모든 클라이언트에 배포. ca.key는 서버만 가지고 있음.

 2) 서버키 생성 (서버에 사용될 인증서 및 개인키)
   ./build-key-server server
  ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
  # keys 디렉토리에 server.crt  server.key 등이 생긴것을 확인할수 있다.
  # 이 키들은 CA에 의해 사인된 인증서이다.
  # server.crt, server.key 모두 서버에만 사용

 3) 클라이언트키 생성 (클라이언트에 사용될 인증서)
   ./build-key client
  ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
  # keys 디렉토리에 server.csr server.crt  server.key 등이 생긴것을 확인할수 있다.
  # 중요한건. Common Name은 client여야 한다.!!
  # keys 디렉토리에 client.crt client.key 를 볼 수 있다.
  # 이 키들은 CA에 의해 사인된 인증서이다.
  # client.key, client.crt 모두 클라이언트에만 사용됨.

 4) Diffie Hellman 파라메터 생성(암호화에 필요한 놈)
  ./build-dh
  # keys디렉토리에 dh1024.pem 파일이 생긴것을 확인할 수 있다.
  # dh1024.pem은 서버에만 가지고 있는다.

 5) 클라이 언트용 파일 복사 및 보관
    mkdir -p /root/client-keys
    cp keys/ca.crt keys/client.* /root/client-keys
    cd /root
    zip client-keys.zip client-keys/*



4. 설정파일(server.conf)파일 복사 및 편집 - 서버
 1) 설정파일 및 키 복사
    cd /usr/share/doc/openvpn-2.0.7/
    cp sample-config-files/server.conf /etc/openvpn/
    cp easy-rsa/keys/server.* /etc/openvpn/
    cp easy-rsa/keys/dh1024.pem /etc/openvpn/   
    cp easy-rsa/keys/ca.* /etc/openvpn/
    
 2) 설정파일 편집.(/etc/openvpn/server.conf)
    server 10.1.1.0 255.255.255.0
    client-to-client
    duplicate-cn
    max-clients 100
    plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

   ## 설명
   # sever 네트웍 설정은 10.1.1.0으로 한다.
   # client-to-client : 클라이언트 끼리 통신 가능하게
   # duplicate-cn : client인증서 하나로 여러대의 PC에서 사용할 수 있게한다.
   # max-clients 100 : 연결수를 100으로 제한한다.
   # plugin .... : user/pass인증을 받는다. (시스템 계정)



 3) G/W로 VPN서버를 쓰기 때문에 인터넷 공유 설정.
    echo 'iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE' >> /etc/rc.d/rc.local
    iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
    iptables -t nat -L



5. 클라이언트 설치 및 설정(Linux RH9)
  # lzo 설치
  wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.0.rh9.rf.i386.rpm
  wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.0.rh9.rf.i386.rpm
  rpm -Uvh lzo-*
 # openvpn 받아서 설치
 wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
 rpmbuild -tb openvpn-2.0.7.tar.gz
 rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.7-1.i386.rpm
 # 설정파일 복사 및 설정
 cp  /usr/share/doc/openvpn-2.0.7/sample-config-files/client.conf /etc/openvpn/
 cd /etc/openvpn
 wget http://su021.suidc.com/~mons/client-keys.zip
 unzip client-keys.zip
 mv client-keys/* .
 rm -rf client-keys*
 ## 설정파일 편집
  remote 222.97.189.21 1194
  auth-user-pass
 # 위 두줄 추가!!
 /etc/rc.d/init.d/openvpn start
 이렇게 시작하면, user/ pass 를 묻는다.!!
 예의상ㅇ!! ping 10.1.1.1 을 해 본다.!!! -- OK!



6. Windows XP에 설치!!
http://www.openvpn.se/files/install_packages/openvpn-2.0.7-gui-1.0.3-install.exe
위 파일을 받아서 설치!
  http://su021.suidc.com/~mons/vpn-client-win.zip
 이 키를 받아서.
 시작 -> 프로그램 -> OpenVPN -> Open VPN configuration file directory
 을 열고 거기에 복사한다.!

 

출처 : http://swarch.springnote.com/pages/6042383.xhtml

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928315
2474 연애 폭소클럽 제36회 - 즉석미팅 1 (김제동) file JaeSoo 2003.08.18 18982
2473 연애 폭소클럽 제37회 - 즉석미팅 2 (김제동) file JaeSoo 2003.08.18 17809
2472 연애 폭소클럽 제38회 - 방학특집 연애특강 1 (김제동) 1 file JaeSoo 2003.08.18 16361
2471 연애 폭소클럽 제39회 - 방학특집 연애특강 2 (김제동) file JaeSoo 2003.08.18 17829
2470 연애 폭소클럽 제40회 - 방학특집 연애특강 3 (김제동) file JaeSoo 2003.08.18 16843
2469 웹 프로그래밍 이미지 특정 부분에 링크 만들기 처누 2003.08.24 15624
2468 웹 프로그래밍 게시판에 자신의 FTP 자료 올리기 3 처누 2003.08.25 13135
2467 동식물 고양이 클리닉 - 고양이 기르기 file JaeSoo 2003.10.10 13694
2466 동식물 고양이 클리닉 - 고양이 품종 file JaeSoo 2003.10.10 13428
2465 동식물 고양이 클리닉 - 2개월에서 4개월령 고양이 관리 file JaeSoo 2003.10.11 13430
2464 동식물 고양이 클리닉 - 4개월에서 9개월령 고양이 관리 file JaeSoo 2003.10.11 13134
2463 동식물 고양이 클리닉 - 다자란 고양이 file JaeSoo 2003.10.13 13922
2462 동식물 고양이 클리닉 - 나이든 고양이 file JaeSoo 2003.10.13 13681
2461 동식물 고양이 클리닉 - 고양이의 영양 file JaeSoo 2003.10.13 13429
2460 동식물 고양이 먹이와 주의사항 file JaeSoo 2003.10.13 13902
2459 동식물 아기 고양이의 식사 file JaeSoo 2003.10.13 11821
2458 동식물 고양이 사료 급여량 file JaeSoo 2003.10.13 12880
2457 기타 편지봉투 쓰는 법 file JaeSoo 2003.10.21 16993
2456 웹 프로그래밍 제로보드 로그인 실패시 이유를 메세지로 알려주기 처누 2003.11.04 8460
2455 웹 프로그래밍 최근 게시물 출력시 링크게시물에 스타일시트 적용하기 처누 2003.11.06 7928
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너