Სარჩევი:

Bridge Firewall OrangePi R1: 4 ნაბიჯი
Bridge Firewall OrangePi R1: 4 ნაბიჯი

ვიდეო: Bridge Firewall OrangePi R1: 4 ნაბიჯი

ვიდეო: Bridge Firewall OrangePi R1: 4 ნაბიჯი
ვიდეო: Bridge #Wifi - Ethernet with #OpenWrt on #Raspberry Pi 3 B + : PDAControl 2024, ნოემბერი
Anonim
ხიდის ბუხარი OrangePi R1– ით
ხიდის ბუხარი OrangePi R1– ით

მე უნდა მეყიდა კიდევ ერთი ნარინჯისფერი პი:) ეს იმიტომ მოხდა, რომ ჩემი SIP ტელეფონი დაიწყო შუაღამისას დარეკვა უცნაური ნომრებისგან და ჩემმა VoIP პროვაიდერმა ივარაუდა, რომ ეს გამოწვეული იყო პორტის სკანირებით. კიდევ ერთი მიზეზი - მე ძალიან ხშირად მსმენია როუტერების გატეხვის შესახებ და მე მაქვს როუტერი, რომლის მართვის უფლება არ მაქვს (Altibox/ნორვეგია). მე ასევე დავინტერესდი რა ხდებოდა ჩემს სახლის ქსელში. ამიტომ გადავწყვიტე შევქმნა ხიდი-ბუხარი, გამჭვირვალე TCP/IP სახლის ქსელისთვის. გამოვცადე კომპიუტერით, შემდეგ გადავწყვიტე ვიყიდო OPi R1 - ნაკლები ხმაური და ნაკლები ენერგიის მოხმარება. თუ თქვენ გაქვთ საკუთარი მიზეზი, რომ გქონდეთ ასეთი ტექნიკური ბუხარი - ეს უფრო ადვილია, ვიდრე თქვენ ფიქრობთ! არ დაგავიწყდეთ იყიდოთ გამათბობელი და ღირსეული მიკრო SD ბარათი.

ნაბიჯი 1: OS და კაბელირება

ოპერაციული სისტემა და კაბელირება
ოპერაციული სისტემა და კაბელირება

მე დავაყენე Armbian:

როგორც თქვენ ალბათ შეამჩნიეთ, მე გამოვიყენე USB TTL გადამყვანი სერიულ კონსოლზე წვდომისათვის, რაც აუცილებელი არ იყო, ქსელის ნაგულისხმევი კონფიგურაცია გულისხმობს DHCP- ს.

კონვერტორის ერთადერთი კომენტარი - ბევრ გაკვეთილში VCC კავშირი არ არის შემოთავაზებული. ჩემთვის ის მუშაობდა მხოლოდ მაშინ, როდესაც კვების ბლოკი იყო დაკავშირებული (3.3V არის ერთადერთი კვადრატული პინი დაფაზე). და ის აპირებდა გადახურებას, თუ არ იყო დაკავშირებული USB- თან, სანამ ელექტროენერგიის მიწოდება იქნებოდა ჩართული. ვფიქრობ, R1– ს აქვს pinout თავსებადი OPi Zero– სთან, მე პრობლემები მაქვს R1 სქემების პოვნაში.

Armbian– ის ჩატვირთვის, ძირეული პაროლის შეცვლისა და განახლების/განახლების შესახებ ვიპოვე ორი ინტერფეისი („ifconfig -a“) - eth0 და enxc0742bfffc6e. შეამოწმეთ, რადგან ახლა დაგჭირდებათ - ყველაზე გასაოცარი ის არის, რომ თქვენი R1 Ethernet ხიდზე გადასაყვანად საჭიროა მხოლოდ/etc/network/interfaces ფაილის მორგება. აღფრთოვანებული დავრჩი, რომ არმბიანს მოყვება ფაილის წინასწარი კონფიგურაცია, მათ შორის ინტერფეისები. R1switch - ჟღერს ის, რაც ჩვენ გვჭირდება, მაგრამ ის არ მუშაობს.

კიდევ ერთი მნიშვნელოვანი იყო Ethernet პორტების სათანადო იდენტიფიკაცია - enxc0742bfffc6e იყო სერიული ქინძისთავების მახლობლად.

სანამ R1– ს დაკარგავთ კონტაქტს ინტერნეტთან (კარგი, ამის უკეთ კონფიგურაცია შეიძლებოდა) უბრალოდ დააინსტალირეთ ერთი რამ:

sudo apt-get install iptables-persistent

ნაბიჯი 2:/etc/network/interfaces

თუ თქვენს ადგილობრივ ქსელს გადააქვთ eth0, მაშინ გჭირდებათ შემდეგი ინტერფეისის ფაილი (ყოველთვის შეგიძლიათ დაუბრუნდეთ orig ვერსიას sudo cp interfaces. ნაგულისხმევი ინტერფეისებით; გადატვირთეთ):

auto br0iface br0 inet სახელმძღვანელო

ხიდის_პორტები eth0 enxc0742bfffc6e

Bridge_stp off

ხიდი_ფდ 0

Bridge_maxwait 0

ხიდის_მაქსიჯი 0

ნაბიჯი 3: Iptables

Iptables
Iptables

გადატვირთვის შემდეგ თქვენი R1 უნდა იყოს გამჭვირვალე ქსელისთვის და იმუშაოს როგორც საკაბელო კონექტორი. ახლა მოდით გავამძაფროთ ცუდი ბიჭების ცხოვრება - კონფიგურაცია გაუწიეთ firewalls– ის წესებს (hashed lines არის კომენტარები; შეცვალეთ ქსელის მისამართები თქვენს DHCP კონფიგურაციაზე!):

# დახუჭე ყველა და დახურე კარი

iptables -Fiptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

# მაგრამ ნება მიეცით შიდა ქსელს გარეთ გასვლა

iptables -A INPUT -m physdev -physdev -is -bridged -physdev -in eth0 -s 192.168.10.0/24 -j მიღება

iptables -A FORWARD -m physdev --physdev -is -bridged --physdev -in eth0 -s 192.168.10.0/24 -j მიღება

# დაუშვით DHCP- ს ხიდის გავლა

iptables -A INPUT -i br0 -p udp -პორტი 67:68 -სპორტი 67:68 -j მიღება

iptables -A FORWARD -i br0 -p udp -პორტი 67:68 -სპორტი 67:68 -j მიღება

# ყველა დადგენილი ტრაფიკი უნდა გადამისამართდეს

iptables -A FORWARD -m conntrack -სახელმწიფო დამკვიდრებული, დაკავშირებული -j მიღება

# მხოლოდ ადგილობრივი ბრაუზერისთვის - წვდომა მონიტორინგის ინსტრუმენტებზე, როგორიცაა darkstat

iptables -A INPUT -i lo -j ACPREPT iptables -A OUTPUT -o lo -j ACCEPT

#ბლოკის გაფუჭება

iptables -A FORWARD -m physdev -physdev -is -bridged -physdev -in enxc0742bfffc6e -s 192.168.10.0/24 -m ლიმიტი -ლიმიტი 5/წთ -j LOG -ლოგ -დონე 7 -ლოგ -პრეფიქსი NETFILTER

iptables -A FORWARD -m physdev -physdev -is -bridged -physdev -in enxc0742bfffc6e -s 192.168.10.0/24 -j REJECT

ნაბიჯი 4: საბოლოო მოსაზრებები

ერთი კვირის შემდეგ - მშვენივრად მუშაობს. ერთადერთი, რაც მე შევადგინე (და წარმოვადგენ აქ) არის ქსელის მონიტორინგი და წვდომა ssh– ის საშუალებით. ვიმეორებ - ინტერფეისების ფაილის შეცვლა ჩემს მიერ მიმაგრებულ შინაარსზე გამოაშკარავებს R1 მოწყობილობას IP ქსელიდან - მხოლოდ სერიალი იმუშავებს.

6 ივნისი 2018: ხიდი არ არის იმდენი სამუშაო, მაგრამ R1 ასხივებს უამრავ სითბოს, ძალიან ბევრს. უბრალო გამათბობელი ძალიან ცხელდება - უცნაურია და არ მომწონს. იქნებ ყველაფერი კარგადაა, იქნებ ვინმეს აქვს სხვა გამოსავალი ფანების გარდა.

18 აგვისტო 2018: 'armbianmonitor -m' აჩვენებს 38 გრადუსს, რაც ბევრად აღემატება ჩემს პირად აღქმას. მე ვიგრძენი მნიშვნელოვანი ცვლილება (ქვემოთ), როდესაც საათი ოდნავ შევამცირე:

ექო 1000000>/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

BTW - მე მოვახერხე დაკავშირება ჩემს სახლში WLAN– თან, მაგრამ R1– ს არ მიუღია IP DHCP– ის საშუალებით, არც სტატიკური დავალების დეოსი მუშაობს. ეს იყო ჩემი პირველი მცდელობა მქონოდა ადმინისტრაციული ინტერფეისი, გარდა სერიული. კიდევ ერთი იდეა არის IP- ის მინიჭება ეთერნეტის ერთ -ერთ პორტზე. ამას დავუბრუნდები რამდენიმე თვეში.

გირჩევთ: