Skip to content
tinAI
Go back

Cách biến mọi thứ thành một router

Bài gốc: How to turn anything into a router

Tác giả: Unknown

Ngày đăng: Dịch ngày:

TL;DR

Bài viết hướng dẫn cách tự tạo router từ các thiết bị máy tính thông thường, sử dụng Linux và một số công cụ phần mềm. Điều này có thể mở rộng khả năng của thiết bị sẵn có, giúp tiết kiệm chi phí và tận dụng được phần cứng cũ.

Làm thế nào để biến mọi thứ thành một router

Chính phủ Mỹ vừa công bố một chính sách gây tranh cãi, cấm nhập khẩu các mẫu router mới dành cho người tiêu dùng. Đây không phải là giải pháp thực tế cho chính sách này, mà chỉ là một thủ thuật để tăng khả năng của phần cứng mà bạn đã có và chứng minh rằng router cũng chỉ là máy tính.

Lựa chọn phần cứng

Ưu tiên của tôi là một mini PC thiết kế để làm mát thụ động. Tuy nhiên, thực tế thì bất cứ thứ gì cũng có thể làm router miễn là có hai cổng Ethernet, hoặc một cổng USB-Ethernet cũng được.

Image: Mini PC Router

Một thiết bị Celeron 3205U 1.5 GHz cũng đủ để xử lý dữ liệu cho cả ngôi nhà hoặc văn phòng nhỏ.

Cấu hình như thế nào?

Hệ thống sẽ được cấu hình như sau:

InterfaceNetwork
eth0WAN
eth1LAN (Wired)
wlan0LAN (Wireless)

Cả hai giao diện LAN sẽ được kết nối với nhau, giúp các thiết bị trên mạng có thể giao tiếp dễ dàng.

Cài đặt & Thiết lập

Cài đặt Debian là quá trình khá tiêu chuẩn. Một vài điểm cần lưu ý:

sudo apt install firmware-iwlwifi

Cài đặt các gói yêu cầu

sudo apt install bridge-utils hostapd dnsmasq

Cấu hình mạng không dây

Để thiết lập mạng Wi-Fi, tạo file cấu hình tại /etc/hostapd/hostapd.conf

interface=wlan0
bridge=br0
hw_mode=g
channel=11
ieee80211d=1
country_code=US
ieee80211n=1
wmm_enabled=1

ssid=My Cool and Creative Wi-Fi Name
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=mysecurepassword

Unmask và kích hoạt dịch vụ hostapd.

sudo systemctl unmask hostapd
sudo systemctl enable --now hostapd

Cấu hình giao diện

Định cấu hình cho các giao diện mạng trong file /etc/network/interfaces

allow-hotplug eth0
allow-hotplug eth1
auto wlan0
auto br0

iface eth0 inet dhcp

iface br0 inet static
    bridge_ports eth1 wlan0
    address 192.168.1.1/24

Truyền tiếp IP

Tạo file /etc/sysctl.d/10-forward.conf

net.ipv4.ip_forward=1

Áp dụng các thay đổi:

sudo systemctl restart systemd-sysctl.service

Quy tắc firewall

Cấu hình trong file /etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;
        ct state { established,related } counter accept
        ip protocol icmp counter accept
        iifname "br0" tcp dport { 22, 53 } counter accept
        iifname "br0" udp dport { 53, 67, 68 } counter accept
        counter
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
        iifname "eth0" oifname "br0" ct state { established,related } counter accept 
        iifname "br0" oifname "eth0" ct state { new,established,related } counter accept
        counter
    }

    chain output {
        type filter hook output priority 0; policy accept;
        counter
    }
}

table ip nat {
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;
        oifname "eth0" counter masquerade
    }
}

Kích hoạt cho lần boot tiếp theo:

sudo systemctl enable nftables.service

DHCP và DNS

Thay vì isc-dhcp-serverbind9, sử dụng dnsmasq, cấu hình đơn giản hơn:

/etc/dnsmasq.conf

interface=br0
listen-address=0.0.0.0
dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.1
cache-size=10000

Kích hoạt dịch vụ:

sudo systemctl enable dnsmasq

Kiểm tra

Hãy kiểm tra trạng thái của firewall để đảm bảo lưu lượng truy cập qua mạng:

$ sudo nft list ruleset

Trước khi chỉnh sửa, hãy xác minh cấu hình firewall:

sudo nft -c -f /etc/nftables.conf

Làm mới các quy tắc mà không làm gián đoạn:

sudo systemctl reload nftables.service

Nhiều tính năng hơn

Router của bạn có thể cung cấp thêm nhiều tính năng:

Tạo một router theo cách này giúp tận dụng các thiết bị cũ và tăng khả năng sử dụng mà không cần phải đầu tư nhiều vào phần cứng mới.


Read Original (EN) Quay lại Newsletter