Showing posts with label Networking. Show all posts
Sử dụng Raspberry Pi làm firewall
Trong bài viết này giới thiệu 2 opensource firewall được dùng phổ biến đã hỗ trợ raspberry pi.
Note: Raspberry chỉ có 1 cổng ethernet nên cần phải gắn thêm usb - ethernet adapter
1. OpenWrt
OpenWrt là một hệ điều hành được sử dụng cho rất nhiều thiết bị router, và nó cũng hỗ trợ cho raspberry pi.
Giới thiệu về OpenWrt xem wikipedia:
https://vi.wikipedia.org/wiki/OpenWrt
Hướng dẫn download image và cài đặt:
https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi
Sau khi khởi động raspberry pi, chỉ có cổng build-in ethernet của pi là được sử dụng và nó được set địa chỉ ip default là 192.168.1.1, kết nối cổng này trược tiếp vào pc (nhớ set ip cho pc là 192.168.1.X) để cấu hình openwrt trên pi bằng giao diện web theo hướng dẫn dưới đây:
Truy cập bằng trình duyệt vào địa chỉ http://192.168.1.1 , login với username:root và password để trống
https://openwrt.org/docs/guide-quick-start/walkthrough_login
Việc tiếp theo cần làm sau khi login vào web thì đi đến phần quản lý software, tìm kiếm và install driver phù hợp cho usb-ethernet adapter, có thể tham khảo bài viết sau:
https://computers.tutsplus.com/articles/installing-openwrt-on-a-raspberry-pi-as-a-new-home-firewall--mac-55984
2. IPFire
IPFire là một firewall opensource mạnh mẽ, nó cũng hỗ trợ tốt cho raspbery pi.
Hướng dẫn download image và cài đặt:
https://wiki.ipfire.org/hardware/arm
IPFire có thể hỗ trợ lên đến 4 interface, được đặt tên theo màu sắc.
Như vậy có nghĩa là RED sẽ được nối đến ADSL modem, còn GREEN sẽ nối vào phía private home network.
Việc cấu hình firewall được cấu hình thông qua web gui (dùng cổng GREEN).
Link tham khảo thêm:
https://wiki.ipfire.org/installation
Note: Raspberry chỉ có 1 cổng ethernet nên cần phải gắn thêm usb - ethernet adapter
1. OpenWrt
OpenWrt là một hệ điều hành được sử dụng cho rất nhiều thiết bị router, và nó cũng hỗ trợ cho raspberry pi.
Giới thiệu về OpenWrt xem wikipedia:
https://vi.wikipedia.org/wiki/OpenWrt
Hướng dẫn download image và cài đặt:
https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi
Sau khi khởi động raspberry pi, chỉ có cổng build-in ethernet của pi là được sử dụng và nó được set địa chỉ ip default là 192.168.1.1, kết nối cổng này trược tiếp vào pc (nhớ set ip cho pc là 192.168.1.X) để cấu hình openwrt trên pi bằng giao diện web theo hướng dẫn dưới đây:
Truy cập bằng trình duyệt vào địa chỉ http://192.168.1.1 , login với username:root và password để trống
https://openwrt.org/docs/guide-quick-start/walkthrough_login
Việc tiếp theo cần làm sau khi login vào web thì đi đến phần quản lý software, tìm kiếm và install driver phù hợp cho usb-ethernet adapter, có thể tham khảo bài viết sau:
https://computers.tutsplus.com/articles/installing-openwrt-on-a-raspberry-pi-as-a-new-home-firewall--mac-55984
2. IPFire
IPFire là một firewall opensource mạnh mẽ, nó cũng hỗ trợ tốt cho raspbery pi.
Hướng dẫn download image và cài đặt:
https://wiki.ipfire.org/hardware/arm
IPFire có thể hỗ trợ lên đến 4 interface, được đặt tên theo màu sắc.
Như vậy có nghĩa là RED sẽ được nối đến ADSL modem, còn GREEN sẽ nối vào phía private home network.
Việc cấu hình firewall được cấu hình thông qua web gui (dùng cổng GREEN).
Link tham khảo thêm:
https://wiki.ipfire.org/installation
Sử dụng Raspberry Pi làm VPN server
Bìa viết này sử dụng PiVPN để cài đặt OpenVpn server lên Raspberry Pi
1. Cài đặt OpenVPN server bằng phần mềm PiVPN
Băt đầu với command dưới đây
$curl -L https://install.pivpn.io | bash
Từ đây một giao diện cài đặt sẽ hiện lên, bấm ENTER để chọn.
Cài đặt static IP cho pi.
Nếu muốn thay đổi thì chọn NO.
Giao thức mặc định sẽ là UDP, nhưng trong hướng bài viết này sử dụng TCP
(UDP sẽ hoạt động nhanh hơn TCP, tuy nhiên TCP thì bào mật hơn).
Vì phía trên đã chọn TCP nên default port sẽ là 443(https), nếu phía trên chon UDP thì ở đây sẽ là port 1194.
Ở bước này nên chọn DNS bởi vì public IP sẽ thường sẽ bị thay đổi nếu router nhà bạn bị restart.
Điền địa chỉ DNS vào đây, có thể đăng ký địa chỉ DNS free tại trang https://www.noip.com
Note: Tác dụng của DNS là trong trường hợp router có restart thì địa chỉ public ip sẽ được tự động update vào DNS nên chúng ta không cần lo lắng về việc public ip có bị thay đổi hay không.
Tuy nhiên cần để có thể tự động update được pulic ip thì cần cấu hình trong mục Dynamic DNS trong router như ví dụ dưới đây:
Kết quả là public ip sẽ được update lên no-ip server.
DNS provider chọn của Google.
Hướng dẫn sử dụng.
Quá trình cài đặt hoàn thành thì reboot.
2. Cấu hình Port Forwarding trên router
Sau khi cài đặt xong PiVPN thì bước tiếp theo cần làm là phải mở port trên router nhà bạn
Khi cài đặt PiVPN ở trên đã chọn port 443(https) nên bây giờ cần mở port 443 trên router.
3. Tạo ovpn profiles
Ovpn profile được tạo ra tại OpenVPN server và được dùng tại phía client để khởi tạo kết nối VPN.
Dùng lệnh "pivpn add" để tạo ovpn profile.
Note:Nếu không muốn settup mật khẩu thì có thể dùng lệnh "pivpn add nopass".
Sau khi tạo xong ovpn profile sẽ được để ở thư mục:
/home/pi/ovpns
Copy ovpn file này sang máy client để chuẩn bị tạo kết nối vpn.
Note: có thể sftp hoặc scp để copy file ovpn ra máy client.
Ex:
pi@raspberry:~$scp -r /home/pi/ovpns clientusername@XXX.XXX.XXX.XXX:/home/Download
4. Khởi tạo kết nối vpn
Cài đặt phần mềm Openvpn connect vào máy client. Phần mềm này có đầy đủ phiên bản cho các hệ điều hành window, android, ios ...
Ex' https://openvpn.net/client-connect-vpn-for-windows/
Sau khi cài đặt xong thì import file ovpn đã tạo ra ở bước trên vào và tiến hành connect.
- Windows
Nếu có msg như dưới đây là ok:
- Linux
Dùng lệnh
#openvpn ovpnprofilename.ovpn
Nếu dùng máy ubuntu thì có thể install thêm plugin:
$sudo apt-get install network-manager-openvpn-gnome
Sau đó import file ovpn vào là xong
- Mobile
Có thể import ovpn profile bằng cách attachment file từ email.
Note:
-Default network interface is "tun"
-Default private IP of vpn network is 10.8.0.X
- pivpn help
Xem file config:
$sudo cat /etc/openvpn/easy-rsa/pki/Default.txt
client
dev tun
proto tcp
remote mydns.ddns.net 443
...
$cat /etc/openvpn/server.conf
dev tun
proto tcp
port 443
server 10.8.0.0 255.255.255.0
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
....