소개
TINC는 터널링 및 암호화를 사용하여 인터넷상의 호스트간에 보안 개인 네트워크를 만드는 VPN데몬
준비사항
2대의 서버, Ubuntu 18.04
구성
A 서버 -------------------------------------- B 서버 |
설치
1. 각 서버에 Tinc 설치
$ sudo apt update && sudo apt install tinc
2. VPN 작업 디렉토리 생성
$ sudo mkdir -p /etc/tinc/sample/hosts
3. 설정 파일들 만들기
- 각 서버에 "tinc.conf" 파일 생성
$ sudo vim /etc/tinc/sample/tinc.conf
-- A 서버
-------------------------
Name = tinc_a Device = /dev/net/tun AddressFamily = ipv4 Interface = tun0 -------------------------
-- B 서버
Name = tinc_b Device = /dev/net/tun AddressFamily = ipv4 Interface = tun0-------------------------ConnectTo = tinc_a-------------------------
- Name - VPN에 사용될 고유한 이름
- Device - 가상 네트워크를 위한 장치 정의
- AddressFamily - IP 주소 형식
- Interface - 네트워크 인터페이스명
- ConnectTo - 연결하려는 tinc 데몬명
- 각 서버에 hosts 설정 파일 생성
-- A 서버
$ sudo vim /etc/tinc/sample/hosts/tinc_a
------------------------- Address = 172.17.0.2 Subnet = 100.100.100.100 -------------------------
-- B 서버 $ sudo vim /etc/tinc/sample/hosts/tinc_b ------------------------- Address = 172.17.0.3 Subnet = 100.100.100.200 -------------------------
- 각 서버의 vpn hosts 설정 파일에 public key 추가
$ sudo tincd -n sample -K 4096
VPN 제어 스크립트 생성
-- A 서버
$ sudo vim /etc/tinc/sample/tinc-up-------------------------#!/bin/sh ip link set $INTERFACE up ip addr add 100.100.100.100 dev $INTERFACE ip route add 100.100.100.0/24 dev $INTERFACE-------------------------$ sudo vim /etc/tinc/sample/tinc-down-------------------------#!/bin/sh ip route del 100.100.100.0/24 dev $INTERFACE ip addr del 100.100.100.100 dev $INTERFACE ip link set $INTERFACE down--------------------------- B 서버$ sudo vim /etc/tinc/sample/tinc-up-------------------------#!/bin/sh ip link set $INTERFACE up ip addr add 100.100.100.200 dev $INTERFACE ip route add 100.100.100.0/24 dev $INTERFACE-------------------------$ sudo vim /etc/tinc/sample/tinc-down-------------------------#!/bin/sh ip route del 100.100.100.0/24 dev $INTERFACE ip addr del 100.100.100.200 dev $INTERFACE ip link set $INTERFACE down-------------------------
- 실행 권한 변경
$ sudo chmod -v +x /etc/tinc/sample/tinc-{up,down}
서비스 등록
$ sudo vim /etc/systemd/system/tinc.service ------------------------- [Unit] Description=Tinc net sample After=network.target [Service] Type=simple WorkingDirectory=/etc/tinc/sample ExecStart=/sbin/tincd -n sample -D -d3 ExecReload=/sbin/tincd -n sample -kHUP TimeoutStopSec=5 Restart=always RestartSec=60 [Install] WantedBy=multi-user.target -------------------------
$ sudo systemctl enable tinc.service
$ sudo systemctl status tinc.service
Host 파일 교환
-- A 서버
$ scp /etc/tinc/sample/hosts/tinc_a user@172.17.0.2:/tmp/ $ ssh -t user@172.17.0.2 sudo mv -v /tmp/tinc_a /etc/tinc/sample/hosts/
-- B 서버
$ scp /etc/tinc/sample/hosts/tinc_b user@172.17.0.3:/tmp/
$ ssh -t user@172.17.0.3 sudo mv -v /tmp/tinc_b /etc/tinc/sample/hosts/
테스트
-- A 서버 & B 서버
$ sudo tincd -n sample -D -d3
$ sudo ip a
$ ping 100.100.100.***
참고
- https://www.linode.com/docs/guides/how-to-set-up-tinc-peer-to-peer-vpn/
댓글 없음:
댓글 쓰기
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.