PPTPServer
This guide has been tested with Ubuntu 12.4 Server.
Setup PPTP Server
First we need to install pptp server using apt-get
# sudo apt-get install pptpd
Then we need to configure the pptpd.
# sudo nano /etc/pptpd.conf
Add server IP and client IP at the end of the file. You can add like below:
localip 192.168.0.1
remoteip 192.168.0.100-200
This sets up the PPTP server to use IP 192.168.0.1 while distributing the IP range 192.168.0.100 to 192.168.0.200 to PPTP clients. Change these as you wish as long as they are private IP addresses and do not conflict with IP addresses already used by your server.
Configure DNS servers to use when clients connect to this PPTP server
# sudo nano /etc/ppp/pptpd-options
Uncomment the ms-dns and add google like below or OpenDNS
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Now add a VPN user in /etc/ppp/chap-secrets file.
# sudo nano /etc/ppp/chap-secrets
The column is username. Second column is server name, you can put “pptpd” in there. Third column is password. The last column is the IP addresses, you can put * to allow all IP.
# client server secret IP addresses
username * myPassword *
Finally start your server
# /etc/init.d/pptpd restart
Setup IP Forwarding
To enable IPv4 forward. Change /etc/sysctl.conf file, add forward rule below.
# sudo nano /etc/sysctl.conf
Uncomment the line
net.ipv4.ip_forward=1
Then reload the configuration
sudo sysctl -p
Add forward rule in iptables
# sudo nano /etc/rc.local
adding to the bottom just before the exit 0
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
This example is using 192.168.0 for its PPTP subnet. The second rule adjusts the MTU size :
You are done. Just reboot your server and you should be able to connect to using PPTPD and send all your traffic through this server.
Nguồn: https://help.ubuntu.com/community/PPTPServer
-----
Xem thêm:
Hướng dẫn cài đặt PPTP VPN trên VPS linux
Nguồn: https://nguyenhuuhoang.com/huong-dan-cai-dat-pptp-vpn-tren-vps-linux/
I. Giới thiệu
Mạng riêng ảo hay VPN (Virtual Private Network) là một mạng dành riêng để kết nối các máy tính lại với nhau thông qua mạng Internet công cộng. Những máy tính tham gia mạng riêng ảo sẽ “nhìn thấy nhau” như trong một mạng nội bộ – LAN (Local Area Network). VPN cho phép các máy tính truyền thông với nhau thông qua một môi trường chia sẻ như mạng Internet nhưng vẫn đảm bảo được tính riêng tư và bảo mật dữ liệu.
Gồm 2 kiểu kết nối chính là :
1. Client to Site
Áp dụng cho từng cá nhân truy cập dữ liệu và các ứng dụng từ bên ngoài để luôn đảm bảo tính bảo mật thông tin.
2. Site to Site
Áp dụng cho các tổ chức chi nhánh liên kết với nhau để trao đổi thông tin như một mạng local.
Giao thức :
Các giao thức chủ yếu được sử dụng là : PPTP, L2TP, IPSEC và IP-IP …
PPTP Point-to-Point Tunneling Protocol (PPTP) là một mở rộng của PPP, nó đóng gói các khung PPP vào gói tin IP (IP datagram) để truyền đi trên mạng công cộng như là Internet. Một người dùng từ xa muốn nối với một mạng LAN cộng tác từ một vị trí mà bình thường là phải sử dụng đến một cuộc quay số đường dài, thay vì vậy người dùng nối kết vào ISP tại địa phương. Sau đó thiết lập một liên kết ảo băng qua Internet để đến mạng LAN nầy. Như vậy, chỉ cần tạo ra một liên kết cục bộ và người dùng có thể có được một nối kết đường dài thông qua Internet. Việc xác thực quyền và mã hóa có thể yêu cầu thêm trong các phiên quay số ảo để hỗ trợ các nối kết riêng tư hay bảo mật.
Như đã giới thiệu thì mình xin hướng dẫn cấu hình PPTP VPN trên VPS linux. Với các giao thức còn lại thì các bạn đón xem ở những bài tiếp theo.
II. Hướng dẫn
Lưu ý : Nếu bạn đang sử dụng VPS với công nghệ OpenVZ thì bạn sẽ cài đặt theo hướng dẫn này bị lỗi, lúc này bạn cần liên hệ với nhà cung cấp để được hỗ trợ. Bài hướng dẫn này chạy tốt trên các công nghệ còn lại.
Bước 1 : Cài đặt PPTPD
Để xác định được bạn đang sử dụng OS nào bạn có thể dùng lệnh sau :
1 |
uname -a |
CentOS/RedHat 5_x86_64
1 2 3 4 |
yum install ppp cd /usr/local/src wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm rpm -iv pptpd-1.4.0-1.rhel5.x86_64.rpm</span> |
CentOS/RedHat 6_x86_64
1 2 3 4 |
yum install ppp cd /usr/local/src wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm rpm -iv pptpd-1.4.0-1.el6.x86_64.rpm</span> |
Bước 2 : Cấu hình IP /etc/pptpd.conf
1 |
vi /etc/pptpd.conf |
# kéo xuống tận cùng file và chèn 2 đoạn code này vào fileo
localip [IP_VPS]
remoteip 10.0.0.101-200
Lưu ý :
localip : là IP của VPS mà bạn thuê : có thể sử dụng lệnh : ifconfig -a
remoteip : đặt IP private (tham khảo IP private: http://en.wikipedia.org/wiki/Private_network )
Bước 3 : Tạo user login vào file in/etc/ppp/chap-secrets
1 |
vi /etc/ppp/chap-secrets |
# kéo xuống tận cùng file và chèn 2 đoạn code này vào fileo
username1 * password1 *
username2 * password2 *
Bước 4 : Cấu hình DNS /etc/ppp/options.pptpd
1 |
vi /etc/ppp/options.pptpd |
# cấu hình dns
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Bước 5. Bật network forwarding in /etc/sysctl.conf
1 |
vi /etc/sysctl.conf |
net.ipv4.ip_forward = 1
Dùng lệnh sau để apply cho việc cấu hình:
1 |
sysctl -p |
Bước 6. Cấu hình firewall and forwarding cho VPS
1 2 3 4 5 6 7 |
iptables -A INPUT -i [tên_card_mạng] -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -i [tên_card_mạng] -p gre -j ACCEPT iptables -t nat -A POSTROUTING -j SNAT --to-source [IP_VPS] iptables -A FORWARD -i ppp0 -o [tên_card_mạng] -j ACCEPT iptables -A FORWARD -i [tên_card_mạng] -o ppp0 -j ACCEPT service iptables save service iptables restart</span> |
Bước 7 : Khởi động PPTP VPN server
1 2 |
service pptpd restart chkconfig pptpd on |
Bước 8 : Thực hiện tạo và kết nối VPN trên máy tính
--
Tuy nhiên, khi thử cả 2 cách này thì mình bị 2 vấn đề sau:
Kết nối VPN xong thì không kết nối Internet được
Không thể vô Web server ở VPS từ máy kết nối VPN
Chưa biết sửa =)
Cập nhật
Sau khi chạy lại lệnh sau
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -j SNAT --to-source [IP_VPS]
iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
Thì mình đã kết nối được Internet khi vô VPN^^
Tham khảo:
]]>http://thuthuat.taimienphi.vn/cach-check-dia-chi-ip-tren-linux-30151n.aspx
https://stackoverflow.com/questions/20680050/how-do-i-install-chkconfig-on-ubuntu
https://kipalog.com/posts/Tu-tao-SSH-tunnel-de-forward-port-ra-remote-server
https://techblog.vn/tu-tao-ssh-tunnel-de-forward-port-ra-remote-server
https://kipalog.com/posts/Gioi-thieu-SSH-Tunnel-va-mot-so-ung-dung
Create your own Virtual Private Network for SSH with Putty
Warning: Undefined variable $comments_number in /shared/webdir2/dothanhlong.org/wp-content/themes/business-hub/comments.php on line 35
Warning: Undefined variable $comments_number in /shared/webdir2/dothanhlong.org/wp-content/themes/business-hub/comments.php on line 39
0 thoughts on “Tạo mạng riêng ảo (VPN) trên Linux VPS”