VPN 설정 · 12 min read · Dec 20, 2025
Ubuntu 22.04에서 Tinc로 P2P VPN 설정하기

Tinc는 메쉬 VPN 네트워크를 생성하는 데 사용할 수 있는 무료 오픈 소스 VPN 소프트웨어입니다. 여러 플랫폼에 설치할 수 있는 작고 강력한 VPN 데몬입니다. Tinc는 여러 호스트 간에 안전한 개인 네트워크를 생성하기 위해 암호화 및 터널링을 사용합니다.
Tinc는 암호화, 압축 및 자동 메쉬 라우팅과 같은 추가 기능을 제공합니다. 이를 통해 서로 다른 위치에 있는 서버 간에 안전하고 분산된 개인 네트워크를 생성할 수 있습니다.
이 튜토리얼에서는 여러 Ubuntu 22.04 서버를 사용하여 tinc로 P2P VPN 서버를 설정합니다. 세 개의 서로 다른 서버로 P2P VPN을 설정합니다. 각 서버는 안전한 VPN 연결을 통해 연결할 수 있습니다.
이 튜토리얼의 끝에서 각 서버가 안전한 내부 VPN 연결을 통해 서로 통신할 수 있도록 tinc P2P VPN 설치를 확인합니다.
전제 조건
이 튜토리얼을 완료하려면 다음 요구 사항이 필요합니다:
- Ubuntu 22.04 서버 운영 체제를 사용하는 두 개 이상의 Linux 서버.
- sudo/root 관리자 권한이 있는 비루트 사용자.
이 예제에서는 세 개의 서로 다른 Ubuntu 서버를 사용합니다. 아래는 자세한 서버 목록입니다:
Hostname Extrernal IP
------------------------------
tinc-ubuntu 192.168.5.30
client1 192.168.5.120
client2 192.168.5.122그게 전부입니다. 이러한 요구 사항이 준비되면 각 서버에서 tinc 설치를 시작할 수 있습니다.
Tinc VPN 설치하기
tinc은 Linux, BSD, MacOS 또는 Windows와 같은 여러 운영 체제에 설치할 수 있는 작고 강력한 가상 사설망(VPN) 데몬입니다. Tinc은 중앙 노드에 의존하지 않고 메쉬 VPN 네트워크를 생성할 수 있게 해줍니다. Tinc VPN은 터널링 및 암호화를 사용하여 인터넷의 호스트 간에 안전한 개인 네트워크를 생성합니다.
이 단계에서는 모든 Ubuntu 서버에 Tinc VPN 서버를 설치합니다.
기본적으로 tinc 패키지는 Ubuntu 리포지토리에서 사용할 수 있습니다. 시작하기 전에 아래의 ‘apt update’ 명령을 입력하여 Ubuntu 패키지 인덱스를 업데이트하고 새로 고칩니다.
sudo apt update다음 apt 명령을 사용하여 Ubuntu 22.04 리포지토리에서 사용할 수 있는 ‘tinc‘ 패키지를 확인합니다.
sudo apt info tinc이 글을 작성할 당시, Ubuntu 22.04 리포지토리는 tinc v1.0.36을 제공합니다.
출력:

‘apt install’ 명령을 입력하여 ‘tinc‘ 패키지를 설치합니다. 프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 진행합니다.
sudo apt install tinc출력:

tinc VPN이 설치되면 다음으로 ufw 방화벽을 설정하고 tinc에서 사용할 기본 포트를 엽니다.
UFW 방화벽 구성하기
이 단계에서는 모든 Ubuntu 서버에서 기본 방화벽 ufw를 설정합니다. OpenSSH 서비스를 추가하고, tinc VPN 포트를 추가한 다음 ufw 방화벽을 시작하고 활성화합니다.
먼저 아래의 ufw 명령을 사용하여 OpenSSH 서비스를 추가합니다. 출력 ‘ 규칙이 업데이트되었습니다 ‘는 새 규칙이 ufw에 추가되었음을 확인합니다.
sudo ufw allow OpenSSH다음 명령을 입력하여 tinc VPN에서 사용할 포트 655를 추가합니다.
sudo ufw allow 655이제 아래의 ufw 명령을 실행하여 ufw 방화벽을 시작하고 활성화합니다. 프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 진행합니다.
sudo ufw enable출력 메시지 ‘ 방화벽이 활성화되었으며 시스템 시작 시 활성화됩니다 ‘는 ufw 방화벽이 실행 중이며 활성화되었음을 확인합니다. 이는 ufw가 시스템 시작 시 자동으로 실행됨을 의미합니다.
출력:

마지막으로 다음 명령을 입력하여 ufw 방화벽 상태를 확인합니다. 출력 ‘ 상태: 활성 ‘는 방화벽이 실행 중임을 확인합니다. 또한 포트 655에 대한 모든 연결이 허용됩니다.
sudo ufw status출력:

모든 서버에 tinc VPN이 설치되고 ufw 방화벽이 활성화되었으므로 이제 이러한 서버 간에 P2P VPN을 설정하고 구성할 준비가 되었습니다.
Tinc VPN 서버 구성하기
이 단계에서는 세 개의 서로 다른 Ubuntu 서버 간에 P2P VPN 서버를 설정합니다.
각 서버에서 수행해야 할 작업 목록은 다음과 같습니다:
- tinc VPN 구성을 저장할 새 디렉토리와 세부 호스트 구성을 저장할 새 ‘hosts‘ 디렉토리를 생성합니다.
- 각 서버에서 기본 tinc 구성으로 tinc VPN 구성 ‘tinc.conf‘를 생성합니다.
- 각 서버에 대한 호스트 구성을 생성합니다.
- tinc VPN에서 사용할 공개 및 개인 키를 생성합니다.
- ‘tinc-up ‘ 또는 ‘tinc-down’ VPN 인터페이스 및 네트워크를 활성화하는 데 사용할 간단한 bash 스크립트를 생성합니다. 또한 이러한 스크립트 ‘tinc-up ‘ 및 ‘tinc-down ‘을 실행 가능하게 만들어야 합니다.
이 점을 염두에 두고 이제 tinc VPN 서버 구성을 시작하겠습니다.
첫 번째 서버 구성: tinc-ubuntu
먼저 첫 번째 노드/서버 ‘tinc-ubuntu‘에서 tinc를 설정합니다.
다음 명령을 실행하여 새 VPN 프로젝트 디렉토리 ‘/etc/tinc/testVPN/‘를 생성합니다. 또한 ‘/etc/tinc/testVPN/‘ 디렉토리 내에 ‘hosts‘ 디렉토리를 생성합니다.
‘/etc/tinc/testVPN’ 디렉토리로 VPN 서버를 ‘testVPN‘이라는 이름으로 설정합니다.
mkdir -p /etc/tinc/testVPN/hosts다음으로 아래의 nano 편집기 명령을 사용하여 새 tinc VPN 구성 파일 ‘/etc/tinc/testVPN/tinc.conf’를 생성합니다.
nano /etc/tinc/testVPN/tinc.conf파일에 다음 줄을 추가합니다. 이러한 구성으로 이 서버의 이름을 ‘tinc_ubuntu‘로 지정하고 tinc VPN의 인터페이스 이름을 ‘tun0‘으로 설정하며 IPv4를 사용합니다.
또한 tinc VPN 노드의 ‘이름‘은 ‘-‘ 또는 마이너스를 사용하지 않아야 합니다. ‘-‘ 마이너스를 ‘_’ 언더스코어로 대체할 수 있습니다.
Name = tinc_ubuntu
AddressFamily = ipv4
Interface = tun0작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc.conf ‘를 저장하고 종료합니다.
다음으로 아래의 nano 편집기 명령을 사용하여 새 호스트 구성 ‘/etc/tinc/testVPN/hosts/tinc_ubuntu‘를 생성합니다. 호스트 구성 파일 이름은 ‘ tinc.conf ‘ 파일에서 정의한 호스트의 ‘이름’과 일치해야 합니다.
nano /etc/tinc/testVPN/hosts/tinc_ubuntu파일에 다음 줄을 추가합니다. 여기서 ‘주소‘는 이 서버의 외부 IP 주소입니다. ‘서브넷‘은 tinc VPN을 실행하는 데 사용될 내부 IP 주소입니다. 환경에 맞게 세부 IP 주소를 변경하고 조정할 수 있습니다.
Address = 192.168.5.30
Subnet = 10.0.0.1/32작업이 끝나면 파일 ‘ /etc/tinc/testVPN/hosts/tinc_ubuntu’를 저장하고 닫습니다.
다음으로 아래의 ‘tincd‘ 명령을 실행하여 RSA 공개 및 개인 키를 생성합니다. RSA 공개 키는 자동으로 호스트 구성 파일 ‘/etc/tinc/testVPN/hosts/tinc_ubuntu‘에 저장되며, RSA 개인 키는 ‘/etc/tinc/testVPN/rsa_key.priv‘에 저장됩니다.
sudo tincd -n testVPN -K4096출력:

RSA 공개 및 개인 키가 생성된 후, 다음으로 tinc VPN 네트워크를 활성화하고 비활성화하는 데 사용할 새 bash 스크립트를 생성합니다.
아래의 nano 편집기 명령을 사용하여 새 bash 스크립트 ‘ /etc/tinc/testVPN/tinc-up ‘를 생성합니다. 이 스크립트는 tinc VPN 네트워크 인터페이스를 활성화하는 데 사용됩니다.
sudo nano /etc/tinc/testVPN/tinc-up파일에 다음 줄을 추가합니다. 아래의 IP 주소 서브넷을 ‘tinc.conf’ 파일에서 정의한 VPN 네트워크 서브넷으로 변경해야 합니다.
#!/bin/sh
ip link set $INTERFACE up
ip addr add 10.0.0.1/32 dev $INTERFACE
ip route add 10.0.0.0/24 dev $INTERFACE작업이 끝나면 파일 ‘ /etc/tinc/testVPN/tinc-up’를 저장하고 닫습니다.
이제 tinc VPN 네트워크 인터페이스를 비활성화하는 데 사용할 새 bash 스크립트 ‘/etc/tinc/testVPN/tinc-down’을 생성합니다.
sudo nano /etc/tinc/testVPN/tinc-down파일에 다음 줄을 추가합니다.
#!/bin/sh
ip route del 10.0.0.0/24 dev $INTERFACE
ip addr del 10.0.0.1/32 dev $INTERFACE
ip link set $INTERFACE down작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc-down’을 저장하고 닫습니다.
이제 아래의 chmod 명령을 실행하여 두 개의 bash 스크립트 ‘ /etc/tinc/testVPN/tinc-up ‘ 및 ‘/etc/tinc/testVPN/tinc-down’을 실행 가능하게 만듭니다.
sudo chmod +x /etc/tinc/testVPN/tinc-*이제 아래의 tree 명령을 사용하여 ‘/etc/tinc/testVPN/‘ 디렉토리의 파일 목록을 확인할 수 있습니다.
tree /etc/tinc/testVPN/다음과 같은 출력을 받아야 합니다:

이로써 첫 번째 서버 ‘tinc-ubuntu’에서 tinc VPN 구성을 완료했습니다. 다음으로 ‘ client1 ‘ 및 ‘ client2 ‘ 서버에서 tinc VPN을 설정합니다.
두 번째 서버 구성: client1
다음 명령을 실행하여 새 VPN 프로젝트 디렉토리 ‘/etc/tinc/testVPN/‘를 생성합니다. 또한 ‘/etc/tinc/testVPN/‘ 디렉토리 내에 ‘hosts‘ 디렉토리를 생성합니다.
‘/etc/tinc/testVPN’ 디렉토리로 VPN 서버를 ‘testVPN‘이라는 이름으로 설정합니다.
mkdir -p /etc/tinc/testVPN/hosts다음으로 아래의 nano 편집기 명령을 사용하여 새 tinc VPN 구성 파일 ‘/etc/tinc/testVPN/tinc.conf’를 생성합니다.
nano /etc/tinc/testVPN/tinc.conf파일에 다음 줄을 추가합니다. 이러한 구성으로 이 서버의 이름을 ‘client1‘로 지정하고 tinc VPN의 인터페이스 이름을 ‘tun0‘으로 설정하며 IPv4를 사용합니다. 또한 tinc VPN ‘client1‘이 tinc VPN ‘tinc_ubuntu‘ 및 ‘client2‘에 연결할 수 있도록 허용합니다.
Name = client1
AddressFamily = ipv4
Interface = tun0
ConnectTo = tinc_ubuntu
ConnectTo = client2작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc.conf’를 저장하고 종료합니다.
다음으로 아래의 nano 편집기 명령을 사용하여 새 호스트 구성 ‘/etc/tinc/testVPN/hosts/client1‘을 생성합니다. 호스트 구성 파일 이름은 ‘ tinc.conf ‘ 파일에서 정의한 호스트의 ‘이름’과 일치해야 합니다.
sudo nano /etc/tinc/testVPN/hosts/client1파일에 다음 줄을 추가합니다. 여기서 ‘주소‘는 이 서버의 외부 IP 주소입니다. ‘서브넷‘은 tinc VPN을 실행하는 데 사용될 내부 IP 주소입니다. 환경에 맞게 세부 IP 주소를 변경하고 조정할 수 있습니다.
Address = 192.168.5.120
Subnet = 10.0.0.2/32작업이 끝나면 파일 ‘/etc/tinc/testVPN/hosts/client1 ‘을 저장하고 닫습니다.
다음으로 아래의 ‘tincd’ 명령을 실행하여 RSA 공개 및 개인 키를 생성합니다. RSA 공개 키는 자동으로 호스트 구성 파일 ‘/etc/tinc/testVPN/hosts/client1’에 저장되며, RSA 개인 키는 ‘/etc/tinc/testVPN/rsa_key.priv ‘에 저장됩니다.
sudo tincd -n testVPN -K4096출력:

RSA 공개 및 개인 키가 생성된 후, 다음으로 tinc VPN 네트워크를 활성화하고 비활성화하는 데 사용할 새 bash 스크립트를 생성합니다.
아래의 nano 편집기 명령을 사용하여 새 bash 스크립트 ‘/etc/tinc/testVPN/tinc-up ‘를 생성합니다. 이 스크립트는 tinc VPN 네트워크 인터페이스를 활성화하는 데 사용됩니다.
sudo nano /etc/tinc/testVPN/tinc-up파일에 다음 줄을 추가합니다. 아래의 IP 주소 서브넷을 ‘tinc.conf’ 파일에서 정의한 VPN 네트워크 서브넷으로 변경해야 합니다.
#!/bin/sh
ip link set $INTERFACE up
ip addr add 10.0.0.2/32 dev $INTERFACE
ip route add 10.0.0.0/24 dev $INTERFACE작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc-up’를 저장하고 닫습니다.
이제 tinc VPN 네트워크 인터페이스를 비활성화하는 데 사용할 새 bash 스크립트 ‘/etc/tinc/testVPN/tinc-down’을 생성합니다.
sudo nano /etc/tinc/testVPN/tinc-down파일에 다음 줄을 추가합니다.
#!/bin/sh
ip route del 10.0.0.0/24 dev $INTERFACE
ip addr del 10.0.0.2/32 dev $INTERFACE
ip link set $INTERFACE down작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc-down ‘을 저장하고 닫습니다.
이제 아래의 chmod 명령을 실행하여 두 개의 bash 스크립트 ‘/etc/tinc/testVPN/tinc-up ‘ 및 ‘/etc/tinc/testVPN/tinc-down ‘을 실행 가능하게 만듭니다.
sudo chmod +x /etc/tinc/testVPN/tinc-*이제 아래의 tree 명령을 사용하여 ‘/etc/tinc/testVPN/‘ 디렉토리의 파일 목록을 확인할 수 있습니다.
tree /etc/tinc/testVPN/다음과 같은 출력을 받아야 합니다:

이로써 두 번째 서버 ‘client1‘에서 tinc VPN 구성을 완료했습니다. 다음으로 ‘client2‘ 서버에서 tinc VPN을 설정합니다.
세 번째 서버 구성: client2
다음 명령을 실행하여 새 VPN 프로젝트 디렉토리 ‘/etc/tinc/testVPN/‘를 생성합니다. 또한 ‘/etc/tinc/testVPN/‘ 디렉토리 내에 ‘hosts‘ 디렉토리를 생성합니다.
‘/etc/tinc/testVPN’ 디렉토리로 VPN 서버를 ‘testVPN‘이라는 이름으로 설정합니다.
mkdir -p /etc/tinc/testVPN/hosts다음으로 아래의 nano 편집기 명령을 사용하여 새 tinc VPN 구성 파일 ‘/etc/tinc/testVPN/tinc.conf’를 생성합니다.
nano /etc/tinc/testVPN/tinc.conf파일에 다음 줄을 추가합니다. 이러한 구성으로 이 서버의 이름을 ‘client2‘로 지정하고 tinc VPN의 인터페이스 이름을 ‘tun0‘으로 설정하며 IPv4를 사용합니다. 또한 tinc VPN ‘client2‘가 tinc VPN ‘tinc_ubuntu‘ 및 ‘client1‘에 연결할 수 있도록 허용합니다.
Name = client2
AddressFamily = ipv4
Interface = tun0
ConnectTo = tinc_ubuntu
ConnectTo = client1작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc.conf’를 저장하고 종료합니다.
다음으로 아래의 nano 편집기 명령을 사용하여 새 호스트 구성 ‘/etc/tinc/testVPN/hosts/client2‘을 생성합니다. 호스트 구성 파일 이름은 ‘ tinc.conf ‘ 파일에서 정의한 호스트의 ‘이름’과 일치해야 합니다.
sudo nano /etc/tinc/testVPN/hosts/client2파일에 다음 줄을 추가합니다. 여기서 ‘주소‘는 이 서버의 외부 IP 주소입니다. ‘서브넷‘은 tinc VPN을 실행하는 데 사용될 내부 IP 주소입니다. 환경에 맞게 세부 IP 주소를 변경하고 조정할 수 있습니다.
Address = 192.168.5.122
Subnet = 10.0.0.3/32작업이 끝나면 파일 ‘/etc/tinc/testVPN/hosts/client2’을 저장하고 닫습니다.
다음으로 아래의 ‘tincd’ 명령을 실행하여 RSA 공개 및 개인 키를 생성합니다. RSA 공개 키는 자동으로 호스트 구성 파일 ‘/etc/tinc/testVPN/hosts/client2‘에 저장되며, RSA 개인 키는 ‘/etc/tinc/testVPN/rsa_key.priv‘에 저장됩니다.
sudo tincd -n testVPN -K4096출력:

RSA 공개 및 개인 키가 생성된 후, 다음으로 tinc VPN 네트워크를 활성화하고 비활성화하는 데 사용할 새 bash 스크립트를 생성합니다.
아래의 nano 편집기 명령을 사용하여 새 bash 스크립트 ‘/etc/tinc/testVPN/tinc-up ‘를 생성합니다. 이 스크립트는 tinc VPN 네트워크 인터페이스를 활성화하는 데 사용됩니다.
sudo nano /etc/tinc/testVPN/tinc-up파일에 다음 줄을 추가합니다. 아래의 IP 주소 서브넷을 ‘tinc.conf’ 파일에서 정의한 VPN 네트워크 서브넷으로 변경해야 합니다.
#!/bin/sh
ip link set $INTERFACE up
ip addr add 10.0.0.3/32 dev $INTERFACE
ip route add 10.0.0.0/24 dev $INTERFACE작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc-up’를 저장하고 닫습니다.
이제 tinc VPN 네트워크 인터페이스를 비활성화하는 데 사용할 새 bash 스크립트 ‘/etc/tinc/testVPN/tinc-down’을 생성합니다.
sudo nano /etc/tinc/testVPN/tinc-down파일에 다음 줄을 추가합니다.
#!/bin/sh
ip route del 10.0.0.0/24 dev $INTERFACE
ip addr del 10.0.0.3/32 dev $INTERFACE
ip link set $INTERFACE down작업이 끝나면 파일 ‘/etc/tinc/testVPN/tinc-down ‘을 저장하고 닫습니다.
이제 아래의 chmod 명령을 실행하여 두 개의 bash 스크립트 ‘/etc/tinc/testVPN/tinc-up ‘ 및 ‘/etc/tinc/testVPN/tinc-down ‘을 실행 가능하게 만듭니다.
sudo chmod +x /etc/tinc/testVPN/tinc-*이제 아래의 tree 명령을 사용하여 ‘/etc/tinc/testVPN/‘ 디렉토리의 파일 목록을 확인할 수 있습니다.
tree /etc/tinc/testVPN/다음과 같은 출력을 받아야 합니다:

이로써 세 번째 서버 ‘client2‘에서 tinc VPN 구성을 완료했습니다. 이제 모든 Ubuntu 서버에서 tinc VPN 구성을 완료했습니다. 다음 단계에서는 scp(SSH를 통한 안전한 복사)를 통해 각 서버의 RSA 공개 키를 교환합니다.
호스트/서버 간 키 교환
이 단계에서는 각 서버의 호스트 구성 파일을 서로 복사합니다. 여기에는 호스트 구성 파일에 저장된 RSA 공개 키가 포함됩니다.
아래는 복사해야 할 호스트 파일의 세부 정보입니다:
- ‘tinc-ubuntu‘ 서버에서 ‘client1‘ 및 ‘client2‘ 서버로 호스트 파일을 복사합니다.
- ‘client1‘ 서버에서 ‘tinc-ubuntu‘ 및 ‘client2‘ 서버로 호스트 파일을 복사합니다.
- ‘client2‘ 서버에서 ‘tinc-ubuntu‘ 및 ‘client1‘ 서버로 호스트 파일을 복사합니다.
그게 전부입니다.
‘tinc-ubuntu’ 서버에서 다음 scp 명령을 실행하여 호스트 파일 ‘/etc/tinc/testVPN/hosts/tinc_ubuntu‘를 ‘client1‘ 및 ‘client2‘ 서버로 복사합니다. 대상 디렉토리는 ‘/etc/tinc/testVPN/hosts/‘ 디렉토리여야 합니다.
scp /etc/tinc/testVPN/hosts/tinc_ubuntu [email protected]:/etc/tinc/testVPN/hosts/
scp /etc/tinc/testVPN/hosts/tinc_ubuntu [email protected]:/etc/tinc/testVPN/hosts/출력:
‘client1’ 서버에서 다음 scp 명령을 실행하여 호스트 파일 ‘/etc/tinc/testVPN/hosts/client1‘을 ‘tinc-ubuntu‘ 및 ‘client2‘ 서버로 복사합니다. 대상 디렉토리는 ‘/etc/tinc/testVPN/hosts/‘ 디렉토리여야 합니다.
scp /etc/tinc/testVPN/hosts/client1 [email protected]:/etc/tinc/testVPN/hosts/
scp /etc/tinc/testVPN/hosts/client1 [email protected]:/etc/tinc/testVPN/hosts/출력:

‘client2’ 서버에서 다음 scp 명령을 실행하여 호스트 파일 ‘/etc/tinc/testVPN/hosts/client2‘를 ‘tinc-ubuntu‘ 및 ‘client1‘ 서버로 복사합니다. 대상 디렉토리는 ‘/etc/tinc/testVPN/hosts/‘ 디렉토리여야 합니다.
scp /etc/tinc/testVPN/hosts/client2 [email protected]:/etc/tinc/testVPN/hosts/
scp /etc/tinc/testVPN/hosts/client2 [email protected]:/etc/tinc/testVPN/hosts/출력:

이로써 각 서버의 ‘/etc/tinc/testVPN/hosts/‘ 디렉토리에서 세 개의 호스트 파일을 확인할 수 있습니다. 아래의 tree 명령을 사용하여 ‘/etc/tinc/testVPN/hosts/‘의 파일 목록을 확인합니다.
tree /etc/tinc/testVPN/hosts/출력 - 각 서버에서 호스트 파일 ‘tinc_ubuntu‘, ‘client1‘, ‘client2‘를 확인할 수 있어야 합니다.

이 시점에서 모든 서버에 tinc VPN을 구성하고 호스트 파일 및 RSA 공개 키를 모든 서버에 복사했습니다. 이를 통해 여러 노드/서버 간의 P2P 연결을 위한 tinc VPN 설치를 확인할 준비가 되었습니다.
P2P VPN 서버 테스트하기
이 단계에서는 tinc VPN 설치를 확인하기 위해 각 서버에서 tinc를 수동으로 실행하고 tun0 인터페이스의 로컬 IP 주소로 한 서버에서 다른 서버로 ping을 실행합니다.
다음 명령을 사용하여 각 서버에서 tinc VPN 서버를 실행합니다.
sudo tincd -n testVPN -D -d3아래는 세 개의 Ubuntu 서버 tinc-ubuntu, client1, client2의 자세한 출력입니다.

다음으로 새 터미널 세션을 열고 ‘tinc-ubuntu’ 서버에 연결합니다. 그런 다음 client1 ‘10.0.0.2’ 및 client2 ‘10.0.0.3’의 내부 IP 주소로 ping 명령을 실행합니다.
ping 10.0.0.1 -c3
ping 10.0.0.2 -c3성공하면 각 서버에서 응답을 받아야 합니다.

이제 새 터미널 세션을 열고 ‘client1’ 서버에 연결합니다. 그런 다음 tinc-ubuntu ‘10.0.0.1’ 및 client2 ‘10.0.0.3’의 내부 IP 주소로 ping 명령을 실행합니다.
ping 10.0.0.1 -c3
ping 10.0.0.3 -c3성공하면 각 서버에서 응답을 받아야 합니다.

마지막으로 새 터미널 세션을 열고 ‘client2’ 서버에 연결합니다. 그런 다음 tinc-ubuntu ‘10.0.0.1’ 및 client1 ‘10.0.0.2’의 내부 IP 주소로 ping 명령을 실행합니다.
ping 10.0.0.1 -c3
ping 10.0.0.2 -c3성공하면 각 서버에서 응답을 받아야 합니다.

이제 각 서버가 tinc VPN의 내부 IP 주소를 통해 서로 연결할 수 있습니다. 이는 P2P VPN 서버를 생성하기 위한 tinc VPN 배포가 완료되고 성공적으로 완료되었음을 의미합니다.
각 터미널 세션으로 돌아가서 tinc VPN 프로세스에 대해 ‘Ctrl + \ ‘를 눌러 종료합니다. 다음 단계에서는 tinc VPN을 systemd 서비스로 시작하고 활성화합니다.
Tinc VPN 서비스 시작 및 활성화하기
다음 systemctl 명령 유틸리티를 실행하여 tinc VPN 서비스를 시작하고 활성화합니다. 이 명령은 모든 Ubuntu 서버에서 실행해야 합니다. 이 예제에서 VPN 이름은 ‘testVPN‘입니다. 이 이름을 원하는 이름으로 변경할 수 있습니다.
이로써 tinc VPN 서버는 백그라운드에서 실행되며 시스템 시작 시 자동으로 시작됩니다.
sudo systemctl start tinc@testVPN
sudo systemctl enable tinc@testVPN아래의 systemctl 명령 유틸리티를 입력하여 tinc VPN 서비스를 확인합니다.
sudo systemctl status tinc@testVPN다음과 같은 출력을 받아야 합니다 - 출력 ‘ 활성(실행 중) ‘는 tinc VPN이 실행 중임을 확인하며, 출력 ‘ …; 활성화됨;… ‘는 tinc VPN이 활성화되어 있으며 시스템 시작 시 자동으로 실행될 것임을 확인합니다.

또한 tinc VPN 서버에 의해 생성된 tun0 인터페이스를 확인할 수 있습니다. 각 서버에서 다음 ip 명령을 입력하여 tun0 인터페이스의 세부 정보를 확인합니다.
ip addr show tun0‘tinc-ubuntu’ 서버에서는 tun0 인터페이스에 IP 주소 10.0.0.1이 표시되어야 합니다. ‘client1’ 머신에서는 tun0 인터페이스에 IP 주소 10.0.0.2가 표시되어야 합니다. 마지막으로 client2 머신에서는 tun0 인터페이스에 IP 주소 10.0.0.3가 표시되어야 합니다.
결론
이 튜토리얼에서는 Ubuntu 22.04 서버에서 tinc VPN 서버를 사용하여 P2P VPN을 생성하고 설정하는 방법을 배웠습니다. 여러 Ubuntu 서버에서 방화벽이 활성화된 상태로 tinc VPN을 설정하는 자세한 프로세스를 배웠습니다.
Tinc은 여러 운영 체제에 설치할 수 있는 간단하면서도 강력한 VPN 서버 소프트웨어입니다. 현재 tinc VPN 배포에 더 많은 서버/노드를 추가할 수 있습니다. 또한 중앙 노드에 의존하지 않고 메쉬 VPN을 생성할 수 있습니다.
tinc 공식 문서에서 tinc VPN 서버에 대해 자세히 알아보세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.