Install VPN Server
Hướng dẫn này giúp bạn thiết lập 1 mạng riêng ảo VPN :
Kiểm tra Kernel máy chủ có hỗ trợ PPP hay ko :
Mã:
/sbin/modprobe ppp_async
/sbin/modprobe ppp_deflate
/sbin/modprobe ppp_mppe
Cài đặt PPTP
CentOS 32bit
Mã:
wget http://data.pavietnam.vn/pptpd-1.4.0-1.rhel5.i386.rpm
rpm -ivh pptpd-1.4.0-1.rhel5.i386.rpm
CentOS 64bit
Mã:
wget http://data.pavietanm.vn/pptpd-1.4.0-1.rhel5.x86_64.rpm
rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm
Sửa file /etc/pptpd.conf và thêm những dòng này:
Mã:
localip 10.0.0.2
remoteip 10.0.0.20-30
Với localip là địa chỉ IP của máy chủ và remoteip là range IP sẽ được cấp cho Client khi kết nối VPN.
Thiết lập chứng thực VPN với users và passwords.
Thêm vào file /etc/ppp/chap-secrets :
Mã:
# client server secret IP addresses
vpnuser pptpd VpN@1#$9 *
Note: Với client là tên username, server là loại dịch vụ
– ở đây là pptpd , secret chính là mật khẩu của user tương ứng, và IP addresses là IP được phép kết nối VPN .
Với thiết lập * ở cột IP addresses , chúng ta cho phép user này được kết nối VPN ở bất kì IP nào .
Thiết lập DNS servers cho pptpd
vi /etc/ppp/options.pptpd
Mã:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
Khởi động dịch vụ PPTP:
Mã:
service pptpd restart
Kiểm tra xem tiến trình có hoạt động và lắng nghe qua Network hay chưa :
netstat -nalt|grep :1723
Cấu hình pptpd start tự động khi khởi động server
Mã:
chkconfig pptpd on
Enable network forwarding in /etc/sysctl.conf
Đây là phần quan trọng để mở tính năng IP forwarding trên VPN Server.
Nó cho phép các gói tin được chuyển tiếp từ IP nội bộ của VPN Service sang IP WAN của Server , cho phép kết nối Internet thông qua Server .
Mở file /etc/sysctl.conf và thêm vào dòng sau(nếu chưa có)
Mã:
net.ipv4.ip_forward = 1
Để cập nhật sysctl, chạy lệnh:
Mã:
sysctl -p
Cấu hình rule NAT trên iptables
Mã:
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
Nếu bạn muốn các VPN client kết nối được với nhau , thêm rule iptable sau :
Mã:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT
Lưu rule và restart iptables
Mã:
service iptables save && service iptables restart
Bây giờ thì PPTP trên Server đã hoạt động như 1 router.
Trường hợp server đang sử dụng CSF thì bạn cấu hình csf như sau
Tạo file /etc/csf/csfpre.sh với nội dung
Mã:
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 -o eth0 -j MASQUERADE
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT
Tạo file /etc/csf/csfpost.sh với nội dung
Mã:
service pptpd stop
service pptpd start
Set quyền
Mã:
chmod 600 /etc/csf/csfpost.sh
chmod 600 /etc/csf/csfpre.sh
Restart CSF
Mã:
csf -r
Check log /var/log/messages