인터넷 접속이 가능하지만 외부 IP 주소 없이 로컬 네트워크에 있는 장비에 접속해야 하는 작업이 있습니다. 이 경우 여러 로컬 네트워크와 장치가 있을 수 있습니다. 이를 위한 다양한 서비스가 있습니다. 이 예에서는 Debian 12를 실행하는 VDS 서버에 PPTP 서비스를 설치하는 방법을 살펴보겠습니다.
우리의 목표는 VDS 서버에 전용 IP가 있기 때문에 로컬 네트워크의 장치를 연결하여 원격 액세스를 얻을 수 있는 서비스의 서버 부분을 구성하는 것입니다.
예: 사무실이나 시골집에 모바일 인터넷을 통해 연결되는 서버를 배치했습니다. 모바일 운영자는 개인에게 영구적인 전용 IP를 제공하지 않는 경우가 많습니다. 인터넷을 통해 연결할 수 있도록 VDS Debian 12에서 PPTP 서비스의 서버 부분을 구성하고 홈 서버를 클라이언트 부분으로 구성하여 서버에 연결합니다.
1. 서비스 설치
apt install ppp pptpd
1.1 PPTP 서비스 구성 /etc/pptpd.conf
로컬 네트워크를 결정하고 구성을 양식으로 가져 오겠습니다
localip 10.10.10.1
remoteip 10.10.10.2-254
여러 외부 IP 주소가 있는 서버를 주문한 경우 당사 서비스가 작동할 IP를 명확하게 나타내는 줄을 추가할 수 있습니다.
listen 외부_인터넷_ip
1.2 파일 끝에 옵션 추가 /etc/ppp/pptpd-options
mtu 1400
mru 1400
auth
require-mppe
필요한 경우 설정 편집
ms-dns 8.8.8.8
ms-dns 8.8.4.4
1.3 옵션의 주석 처리를 해제해 보겠습니다 /etc/sysctl.conf
net.ipv4.ip_forward=1
설정 적용:
sysctl -p
1.4 방화벽을 설정해 보겠습니다. 우리의 경우에는 iptables입니다
apt install iptables
1.4.1 규칙을 추가해 보겠습니다. 여기서 eth0은 외부 인터페이스의 이름입니다
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1.4.2 연결된 클라이언트 간에 LAN을 활성화합니다. 여기서 eth0은 외부 인터페이스의 이름입니다
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.10.10.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
1.4.3 VDS 서버를 통한 인터넷 액세스 비활성화
필요한 경우 장치가 계속해서 인터넷을 사용할 수 있도록 로컬 네트워크를 결합하고 로컬 장비에 액세스하는 것이 목표인 경우 eth0이 외부 IP와의 인터페이스인 규칙을 추가합니다.
iptables -I FORWARD -s 10.10.10.0/24 -o eth0 -j DROP
클라이언트 측에서는 원격 네트워크에서 기본 게이트웨이 사용 옵션을 선택 취소해야 합니다. 로컬 네트워크를 결합할 예정이지만 인터넷 액세스는 VDS 서버가 아닌 로컬 공급자를 통해 이루어집니다.
1.4.4 규칙을 저장하자
iptables-save > /etc/iptables.conf
1.4.5 자동 로드에 규칙을 추가하고 파일 끝에 줄을 추가해 보겠습니다. /etc/network/interfaces
pre-up /sbin/iptables-restore < /etc/iptables.conf
1.5 /etc/ppp/chap-secrets 파일에 사용자 추가
이 예에서 user1에는 무료 IP 주소가 할당되고 user2에는 항상 고정 IP 주소가 할당됩니다.
user1 pptpd password1 "*"
user2 pptpd password2 "10.10.10.10"
1.6 시작에 추가하고 설정을 적용하십시오
systemctl enable pptpd
service pptpd restart
2. 활성 연결 보기
명령을 사용하여 모든 활성 연결과 해당 IP 주소를 볼 수 있습니다.
2.1 ifconfig 사용하기
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.2
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 323 bytes 49503 (48.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 626 (626.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.10
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 24 bytes 896 (896.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 890 (890.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.2 경로 이용
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.10.10.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
2.3 서비스 pptpd 상태 사용
pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/lib/systemd/system/pptpd.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-03-07 13:42:51 MSK; 4h 5min ago
Docs: man:pptpd(8)
man:pptpctrl(8)
man:pptpd.conf(5)
Main PID: 480 (pptpd)
Tasks: 5 (limit: 1099)
Memory: 4.3M
CPU: 9.462s
CGroup: /system.slice/pptpd.service
├─480 /usr/sbin/pptpd --fg
├─605 "pptpd [123.123.123.123:97EE - 0400]"
├─606 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.3 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
├─986 "pptpd [123.123.123.123:D114 - 0580]"
└─987 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.2 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
서버가 구성되었으며 연결 준비가 되었습니다.
또한보십시오: