Đỗ Hữu Toàn gửi vào
- 68052 lượt xem
Giới thiệu
Như các bạn đã biết, raspberry pi có những khả năng kỳ diệu như: đóng vai trò là 1 vi xử lý, khả năng làm đầu HD Player,....rất tốt. tuy nhiên khẳ năng của Raspberry Pi không chỉ dừng lại ở đó , Raspberry PI 2 còn làm được rất nhiều việc ví dụ như làm một mini server. Trong bài viết này mình sẽ hướng dẫn các bạn tạo một server OpenVNP ngay trên Raspberry PI 2.
Tiến hành
Vì Raspberry PI chạy rất tiết kiệm điện , chỉ khoảng 3w và có khả năng chạy liên tục không cần tắt từ tháng này qua tháng khác do vậy để ứng dụng Raspberry PI vào làm một máy chủ VPN là rất khả quan . Bạn có thể tạo một openvpn cho riêng mình sử dụng hoặc chia sẻ cho người nhà và những bạn bè thân thiết .
Bài viết sẽ hướng dẫn cài đặt openvpn trên hệ điều hành Raspbian . Đây là hệ điều hành chính thức của Raspberry PI , tuy nhiên nếu bạn không thích Raspbian có thể cài ubuntu thì hướng dẫn cũng tương tự như bài viết này . chi tiết làm thế nào để cài đặt hệ điều hành vui lòng đọc trên trang chủ của Raspberry PI . 1 . Đăng nhập ssh vào raspberry pi chạy các lệnh sau .
sudo su apt-get update apt-get install openvpn openssl cd /etc/openvpn cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa apt-get install nano nano easy-rsa/vars
Trình chỉnh sửa nano hiện nên và tìm đến dòng
export EASY_RSA="`pwd`"
Thay thế bằng
export EASY_RSA="/etc/openvpn/easy-rsa"
Nhấn Ctrl + x để lưu lại . Tiếp theo chạy các lệnh sau , khi gặp các câu hỏi cứ nhấn enter
./easy-rsa/vars ./easy-rsa/clean-all cd easy-rsa ln -s openssl-1.0.0.cnf openssl.cnf cd ..
Tiếp theo chạy các lệnh sau , khi gặp các câu hỏi cứ nhấn enter
./easy-rsa/build-ca OpenVPN ./easy-rsa/build-key-server server ./easy-rsa/build-key client1 Build-dh command takes a few minutes. So just wait ./easy-rsa/build-dh
nano openvpn.conf
dev tun proto udp port 1194 ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem user nobody group nogroup server 10.8.0.0 255.255.255.0 persist-key persist-tun status /var/log/openvpn-status.log verb 3 client-to-client push "redirect-gateway def1" #set the dns servers push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" log-append /var/log/openvpn comp-lzo
Nhấn Ctrl +x để lưu lại . Tiếp theo chạy lệnh
echo 1 > /proc/sys/net/ipv4/ip_forward
Chạy tiếp các lệnh sau
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to [ipadres rpi] cd ..
[ipadres rpi] thay thế bằng địa chỉ IP trên raspberry pi của bạn . chỉnh sửa file sysctl.conf xóa bỏ dấu # ở dòng #net.ipv4.ip_forward=1 đi
nano /etc/sysctl.conf
Ctrl + x để lưu lại
exit
để thoát root .
cd
Khởi động openvpn
sudo /etc/init.d/openvpn start
Tạo một file config openvpn để sử dụng
nano newvpn.ovpn
Nội dung như sau .
dev tun client proto udp remote YOUR.RASPBERRYPI.IPADRESS 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo verb 3
Ctrl + x để lưu lại . Thêm vào file /etc/rc.local nội dung như sau , thêm vào bên trên dòng "exit 0"
sudo nano /etc/rc.local
iptables -t nat -A INPUT -i eth0 -p udp -m udp --dport 1194 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source RASPBERRY.PI.IP.ADRESS
Ctrl + x để lưu lại . Copy toàn bộ các file key vào thư mục home của pi để sửa dụng
sudo cp -rf /etc/openvpn/easy-rsa/keys /home/pi/
Ta cần quan tâm các file sau ca.crt, client1.crt, client1.key trong /home/pi/keys/ và file /home/pi/newvpn.ovpn Tạm thời Đã tạm xong , để sử dụng openvpn trên điện thoại hãy chỉnh sửa file /home/pi/newvpn.ovpn như sau .
dev tun client proto udp remote ip-của-raspberry-pi 1194 resolv-retry infinite nobind persist-key persist-tun <ca> copy tất cả nội dung của file ca.crt vào đây </ca> <cert> copy tất cả nội dung của file client1.crt vào đây </cert> <key> copy tất cả nội dung của file client1.key vào đây </key> comp-lzo verb 3
sau khi lưu lại thì copy file newvpn.ovpn đó vào bộ nhớ điện thoại . Trên android để sử dụng hãy dùng phần mềm openvpn trên chplay . và chọn đến file newvpn.ovpn để kết nối . Thành công sẽ như sau .
Tuy đã kết nối thành công tuy nhiên đến đây thì chúng ta có thể nhận thấy là mình đang dùng wifi trên điện thoại có kết nối chung mạng với raspberry pi 2 . còn nếu tôi đang dùng 3G hoặc đi đâu đó ra ngoài hoặc muốn chia sẻ openvpn cho ai đó thì không thể kết nối được với OpenVPN trên raspberry pi 2 . để làm được việc đó bắt buộc chúng ta phải mở cổng cho modem và cấu hình Dynamic DNS để có thể sử dụng với mạng IP động .
Xem cách NAT PORT tại đây
III. Kết luận
Chúc các bạn thành công nhé!!!!