Hướng dẫn tạo Server OpenVPN trên Raspberry PI 2

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

Mã:
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
Tiếp theo tạo một file config 
nano openvpn.conf
copy và paster nội dung bên dưới
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é!!!!

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

HỆ ĐIỀU HÀNH MEDIA CENTER CHO Raspberry Pi - Đánh giá cá nhân của mình về Openelec (Open Embedded Linux Entertainment Center ) và OSMC ( Open-Source Media Center ).

Bài viết này, mình sẽ so sánh 2 hệ điều hành MediaCentrer cho Raspberry Pi là  Openelec (Open Embedded Linux Entertainment Center ) và OSMC ( Open-Source Media Center ).

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Cảm biến độ ẩm đất và những ứng dụng hay của nó

Hôm nay, mình sẽ giới thiệu cho các bạn một loại module mới (nói là mới thì không phải, thực ra là trên cộng đồng chưa có bài nói về cái này). Đó là module cảm biến đất. Với module này các bạn có thể ứng dụng nhiều trong các dự án tự động như: đọc độ ẩm đất hoặc áp dụng vào các hệ thống tưới tiêu tự động...VD: bạn có thể chế một hệ thống điều khiển bơm nước qua rơ le...theo độ ẩm của đất...nếu đất khô, tự động tưới...đất ẩm thì dừng lại chả hạn!!! Rất thú vị phải không ạ??? Vậy sử dụng nó như thế nào??? Các bạn hãy đọc hết bài viết này của mình nhé!!!

lên
34 thành viên đã đánh giá bài viết này hữu ích.