테스트한 날짜: 2024년 2월 20일
테스트에 사용한 OS: Ubuntu 22.04
Linux 장비를 PPTP Client로 사용하기 위한 방법
Client 입장에서 Linux PC를 PPTP 서버와 GRE Tunnel을 생성하는 방법이다.
전제 조건:
아래 PPTP Client 예제를 수행하기 전에 PPTP 서버가 이미 구성되어 있어야 한다.
IPTIME 같은 인터넷 공유기에 PPTP 서버 기능이 있으니까, 쉽게 테스트하려면 IPTIME 공유기를 이용하는 것이 좋다.
잠깐 !!
Linux 장비(Ubuntu 22.04)에 PPTP Server를 구축할 계획이라면, 아래 문서를 참고하기 !
https://andrewpage.tistory.com/361
##########################################################
## Client Linux OS에서 아래의 명령을 수행
##########################################################
##########################################################
## pptp 관련 패키지를 설치한다.
##########################################################
$ sudo apt install pptp-linux
##########################################################
## /etc/ppp/options 파일을 편집한다.
##########################################################
$ cat /etc/ppp/options
lock
noauth
nobsdcomp
nodeflate
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
mtu 1400
$
##########################################################
## /etc/ppp/chap-secrets 파일을 편집한다.
##########################################################
$ cat /etc/ppp/chap-secrets
sejong PPTP "my-password" *
$
##########################################################
## /etc/ppp/peers/sejong 파일을 편집한다.
##########################################################
$ cat /etc/ppp/peers/sejong
pty "pptp 55.123.12.123 --nolaunchpppd"
name sejong
remotename PPTP
file /etc/ppp/options
ipparam sejong
##########################################################
## << 참고: 이 작업은 필요한 경우만 할 것 !!! >>
##
## 이 내용은 꼭 필요한 것은 아닌데, ppp0 tunnel port가 생성되고 IP address가 설정되고 나서
## static routing table에 추가하고 싶은 내용이 있다면,
## 아래와 같이 ip-up 파일에 route 명령을 추가한다.
## (이렇게 하는 것이 정석적 방법인지는 모르겠다. 일단, 나는 이렇게 사용하고 있다.)
##########################################################
$ cat /etc/ppp/ip-up
... (중간 생략) ...
ip route add 192.168.0.0/24 dev ppp0 # <-- 나는 이 내용을 추가했다.
$
##########################################################
## 이제 설정 작업은 모두 끝났다. pon 명령을 실행하면 잘 동작할 것이다. ^^
##########################################################
##########################################################
## 위에서 설정한 파일을 이용하여 PPTP 서버와 GRE 터널을 만든다.
## 참고로 pon 명령은 "ppp on"을 줄인 말이다.
##########################################################
$ pon sejong debug dump logfd 2 nodetach
...
...
local IP address 192.168.0.220
remote IP address 192.168.0.1
Script /etc/ppp/ip-up started (pid 14290)
Script /etc/ppp/ip-up finished (pid 14290), status = 0x0
참고로, 위 pon 명령을 수행하면 명령행 prompt가 출력되지 않는다.
왜냐하면 pon 명령이 백그라운드로 동작하는 것이 아니기 때문에 pod 명령을 수행한 터미널은 이 상태로 두고,
다른 터미널을 하나 더 열어서 작업해야 한다.
새 터미널에서 아래와 같이 VPN 서버 쪽으로 ping을 보내본다.
$ ping 192.168.0.1
ing 192.168.0.1 -c 1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=4.45 ms
--- 192.168.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.448/4.448/4.448/0.000 ms
$
PPTP 및 GRE Tunnel 설정 관련 문서
'Ubuntu' 카테고리의 다른 글
Ubuntu TimeZone 설정 (서울 표준시) (0) | 2023.01.06 |
---|---|
Ubuntu 22.04 - A start job is running for wait for network to be configured (os booting 시간 오래 걸리는 이슈) (0) | 2023.01.03 |
Ubuntu Network 설정 (nmtui, netplan, nm-connection-editor 명령) (0) | 2022.11.24 |
Linux, Windows CPU Memory 사용량 계산 (Go Lang) (0) | 2022.07.29 |
Linux CPU Memory Stress Test (과부하 만들기) (0) | 2022.07.14 |