Mục lục:

Tường lửa cầu với OrangePi R1: 4 bước
Tường lửa cầu với OrangePi R1: 4 bước

Video: Tường lửa cầu với OrangePi R1: 4 bước

Video: Tường lửa cầu với OrangePi R1: 4 bước
Video: How To Build A Custom Raspberry Pi Router // OpenWrt on RPi 4 2024, Tháng bảy
Anonim
Tường lửa Bridge với OrangePi R1
Tường lửa Bridge với OrangePi R1

Tôi đã phải mua một chiếc Orange Pi khác:) Điều này là do điện thoại SIP của tôi bắt đầu đổ chuông vào nửa đêm từ các số lạ và nhà cung cấp VoIP của tôi đã khiếu nại đó là do quét cổng. Một lý do khác - tôi đã nghe nói quá thường xuyên về việc các bộ định tuyến bị tấn công và tôi có một bộ định tuyến mà tôi không được phép quản lý (Altibox / Na Uy). Tôi cũng tò mò những gì đang xảy ra trong mạng gia đình của tôi. Vì vậy, tôi quyết định thiết lập tường lửa cầu nối, trong suốt cho mạng gia đình TCP / IP. Tôi đã thử nghiệm nó với PC, sau đó tôi quyết định mua OPi R1 - ít tiếng ồn hơn và tiêu thụ ít điện năng hơn. Nếu bạn có lý do riêng để có một bức tường lửa phần cứng như vậy - điều đó dễ dàng hơn bạn nghĩ! Đừng quên mua một chiếc đế tản nhiệt và một thẻ nhớ micro SD kha khá.

Bước 1: Hệ điều hành & cáp

Hệ điều hành & cáp
Hệ điều hành & cáp

Tôi đã cài đặt Armbian:

Như bạn có thể nhận thấy, tôi đã sử dụng bộ chuyển đổi USB TTL để có quyền truy cập vào bảng điều khiển nối tiếp, điều này không cần thiết, cấu hình mạng mặc định giả định DHCP.

Nhận xét duy nhất cho bộ chuyển đổi - trong nhiều hướng dẫn không có kết nối VCC nào được đề xuất. Đối với tôi, nó chỉ hoạt động khi nguồn điện được kết nối (3,3V là chân vuông duy nhất trên bảng). Và nó sẽ quá nóng nếu không được kết nối với USB trước khi nguồn điện được bật. Tôi đoán R1 có sơ đồ chân tương thích với OPi Zero, tôi gặp khó khăn với việc tìm sơ đồ R1.

Sau khi khởi động Armbian, thay đổi mật khẩu gốc và một số nội dung cập nhật / nâng cấp, tôi tìm thấy hai giao diện ('ifconfig -a') - eth0 và enxc0742bfffc6e. Hãy kiểm tra nó vì bạn sẽ cần chúng ngay bây giờ - điều tuyệt vời nhất là để biến R1 của bạn thành cầu Ethernet, bạn chỉ cần điều chỉnh tệp / etc / network / interface. Tôi rất ngạc nhiên rằng Armbian đi kèm với một số phiên bản được định cấu hình sẵn của tệp bao gồm cả interface.r1switch - nghe có vẻ giống như những gì chúng tôi cần nhưng nó không hoạt động.

Một điều quan trọng khác là xác định đúng các cổng Ethernet - enxc0742bfffc6e là cổng gần các chân nối tiếp.

Trước khi bạn làm cho R1 mất liên lạc với Internet (OK, điều này có thể đã được định cấu hình tốt hơn) chỉ cần cài đặt một thứ:

sudo apt-get install iptables-dai dẳng

Bước 2: / etc / network / interface

Nếu bạn chuyển mạng cục bộ sang eth0 thì bạn cần tệp giao diện sau (bạn luôn có thể quay lại phiên bản orig với sudo cp interface.default interface; khởi động lại):

auto br0iface br0 inet manual

bridge_ports eth0 enxc0742bfffc6e

bridge_stp tắt

bridge_fd 0

bridge_maxwait 0

bridge_maxage 0

Bước 3: Iptables

Iptables
Iptables

Sau khi khởi động lại, R1 của bạn phải trong suốt với mạng và hoạt động giống như một đầu nối cáp. Bây giờ chúng ta hãy làm cho cuộc sống của những kẻ xấu khó khăn hơn - cấu hình các quy tắc tường lửa (các dòng băm là nhận xét; điều chỉnh địa chỉ mạng cho cấu hình DHCP của bạn!):

# nháy tất cả và đóng cửa

iptables -Fiptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

# nhưng cho phép mạng nội bộ ra bên ngoài

iptables -A INPUT -m Physdev --physdev-is-bridge --physdev-in eth0 -s 192.168.10.0/24 -j CHẤP NHẬN

iptables -A FORWARD -m Physdev --physdev-is-bridge --physdev-in eth0 -s 192.168.10.0/24 -j CHẤP NHẬN

# cho phép DHCP đi qua cầu nối

iptables -A INPUT -i br0 -p udp --dport 67:68 --sport 67:68 -j CHẤP NHẬN

iptables -A FORWARD -i br0 -p udp --dport 67:68 --sport 67:68 -j CHẤP NHẬN

# tất cả lưu lượng đã thiết lập phải được chuyển tiếp

iptables -A FORWARD -m conntrack --ctstate ĐƯỢC THÀNH LẬP, CÓ LIÊN QUAN -j CHẤP NHẬN

# chỉ dành cho trình duyệt cục bộ - quyền truy cập vào các công cụ giám sát như darkstat

iptables -A INPUT -i lo -j CHẤP NHẬN iptables -A OUTPUT -o lo -j CHẤP NHẬN

# chặn giả mạo

iptables -A FORWARD -m Physdev --physdev-is-bridge --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -m limit --limit 5 / min -j LOG --log-level 7 --log-prefix BỘ LỌC MẠNG

iptables -A FORWARD -m Physdev --physdev-is-bridge --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -j TỪ CHỐI

Bước 4: Cân nhắc cuối cùng

Sau một tuần - nó hoạt động hoàn hảo. Điều duy nhất tôi sẽ làm (và gửi ở đây) là giám sát mạng và truy cập qua ssh. Tôi lặp lại - việc thay đổi tệp giao diện thành nội dung tôi đã đính kèm sẽ tách thiết bị R1 khỏi mạng IP - chỉ nối tiếp mới hoạt động.

Ngày 6 tháng 6 năm 2018: bắc cầu không còn nhiều việc phải làm nhưng R1 tỏa ra rất nhiều nhiệt, quá nhiều. Một bộ tản nhiệt đơn giản trở nên rất nóng - lạ và tôi không thích nó. Có thể nó là ok, có thể ai đó có một giải pháp khác hơn là một người hâm mộ.

Ngày 18 tháng 8 năm 2018: 'armbianmonitor -m' hiển thị 38 độ C, thấp hơn nhiều so với nhận thức cá nhân của tôi. Tôi cảm thấy một sự thay đổi đáng kể (giảm) khi tôi giảm đồng hồ một chút:

echo 1000000> / sys / devices / system / cpu / cpu0 / cpufreq / scaling_max_freq

BTW - Tôi đã quản lý để kết nối với mạng WLAN tại nhà của mình nhưng R1 không nhận được bất kỳ IP nào qua DHCP, các deos gán tĩnh cũng không hoạt động. Đó là nỗ lực đầu tiên của tôi để có một giao diện quản trị, khác với một giao diện nối tiếp. Một ý tưởng khác là vẫn có một IP được gán cho một trong các cổng ethernet. Tôi sẽ trở lại với điều này trong một vài tháng.

Đề xuất: