Aya seueur inpormasi dina Internét ngeunaan nyiptakeun titik aksés Wi-Fi dumasar kana PC papan tunggal Raspberry. Sakumaha aturan, ieu hartosna nganggo sistem operasi Raspbian asli tina Raspberry.
Janten anu taat kana sistem berbasis RPM, kuring henteu tiasa ngaliwat kaajaiban sakedik ieu sareng henteu nyobian CentOS anu dipikacinta ku éta.
Tulisan éta nyayogikeun pitunjuk pikeun ngadamel router Wi-Fi 5GHz / AC tina Raspberry Pi 3 Modél B + dumasar kana sistem operasi CentOS. Bakal aya sababaraha trik standar tapi saeutik-dipikawanoh, sarta salaku bonus - gambar pikeun nyambungkeun alat Wi-Fi tambahan ka Raspberry, sahingga eta bisa sakaligus beroperasi dina sababaraha modeu (2,4 + 5GHz).
(campuran gambar anu sayogi gratis)
Hayu urang perhatikeun langsung yén sababaraha laju kosmis moal jalan. Kuring squeeze maksimum 100 Mbps kaluar tina buah prambus kuring ngaliwatan hawa, sarta ieu nyertakeun speed panyadia Internet kuring. Naha anjeun peryogi AC sluggish sapertos, upami dina téori anjeun tiasa nampi satengah gigabit bahkan dina N? Upami anjeun naroskeun patarosan ieu ka diri anjeun, teras angkat ka toko kanggo mésér router nyata kalayan dalapan anteneu éksternal.
0. Naon anu anjeun peryogikeun
- Sabenerna, "produk buah prambus" sorangan haliber: Pi 3 Modél B + (pikeun ngahontal speeds 5GHz coveted jeung saluran);
- Alus microSD> = 4GB;
- Workstation sareng Linux sareng microSD maca / panulis;
- Kasadiaan kaahlian cukup dina Linux Ubuntu, artikel pikeun Geek dilatih;
- Jaringan kabel (eth0) konektipitas antara Raspberry sareng Linux, ngajalankeun server DHCP dina jaringan lokal sareng aksés Internét tina kadua alat éta.
A comment leutik dina titik panungtungan. "Mana anu mimiti, endog atanapi ..." kumaha carana ngadamel router Wi-Fi dina henteuna alat aksés Internét? Hayu urang tinggalkeun latihan ngahibur ieu di luar ruang lingkup tulisan sareng ngan saukur nganggap yén Raspberry disambungkeun ka jaringan lokal ku kawat sareng gaduh aksés kana Internét. Dina hal ieu, urang moal butuh TV tambahan sarta manipulator pikeun nyetél "raspberry".
1. Pasang CentOS
Dina waktos nyerat tulisan ieu, versi ngajalankeun CentOS dina alatna nyaéta 32-bit. Di mana waé dina World Wide Web kuring mendakan pendapat yén kinerja OS sapertos dina arsitéktur ARM 64-bit dikirangan ku 20%. Kuring bakal ninggalkeun moment ieu tanpa komentar.
Dina Linux, unduh gambar minimal nganggo kernel "-RaspberryPI-"Sareng nyerat kana microSD:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz |
dd of=/dev/mmcblk0 bs=4M
# sync
Sateuacan ngawitan nganggo gambar, urang bakal nyabut partisi SWAP ti dinya, dilegakeun akar kana sakabéh volume sadia tur meunang leupas tina SELinux. Algoritma saderhana: ngadamel salinan akar dina Linux, ngahapus sadaya partisi tina microSD kecuali anu kahiji (/boot), nyiptakeun akar énggal sareng uih deui eusina tina salinan.
Conto tindakan anu diperyogikeun (kaluaran konsol parah)
# mount /dev/mmcblk0p3 /mnt
# cd /mnt
# tar cfz ~/pi.tgz . --no-selinux
# cd
# umount /mnt
# parted /dev/mmcblk0
(parted) unit s
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
2 1370112s 2369535s 999424s primary linux-swap(v1)
3 2369536s 5298175s 2928640s primary ext4
5298176s 31116287s 25818112s Free Space
(parted) rm 3
(parted) rm 2
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
1370112s 31116287s 29746176s Free Space
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? ext4
Start? 1370112s
End? 31116287s
(parted) set
Partition number? 2
Flag to Invert? lba
New state? on/[off]? off
(parted) print free
Model: SD SC16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 1370111s 1368064s primary fat32 boot, lba
2 1370112s 31116287s 29746176s primary ext4
(parted) quit
# mkfs.ext4 /dev/mmcblk0p2
mke2fs 1.44.6 (5-Mar-2019)
/dev/mmcblk0p2 contains a swap file system labelled '_swap'
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 3718272 4k blocks and 930240 inodes
Filesystem UUID: 6a1a0694-8196-4724-a58d-edde1f189b31
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
# mount /dev/mmcblk0p2 /mnt
# tar xfz ~/pi.tgz -C /mnt --no-selinux
Saatos ngabongkar eusi partisi akar, waktosna pikeun ngalakukeun sababaraha parobihan.
Pareuman SELinux dina /mnt/etc/selinux/config:
SELINUX=disabled
Ngédit /mnt/etc/fstab, ngan tinggalkeun dua éntri ngeunaan partisi: boot (/boot, teu aya parobahan) sareng root (urang ngarobih nilai UUID, anu tiasa dipendakan ku diajar kaluaran paréntah blkid dina Linux):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0
UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
Tungtungna, urang ngarobah parameter boot kernel: urang tangtukeun lokasi anyar pikeun partisi root, mareuman kaluaran informasi debugging jeung (opsional) nyaram kernel ti assigning alamat IPv6 on interfaces jaringan:
# cd
# umount /mnt
# mount /dev/mmcblk0p1 /mnt
Ieu eusina /mnt/cmdline.txt kana formulir di handap ieu (hiji garis tanpa tanda hubung):
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1
Rengse:
# cd
# umount /mnt
# sync
Urang nyusun ulang microSD kana "raspberry", ngajalankeun eta tur meunangkeun aksés jaringan ka eta via ssh (root / centos).
2. Nyetél CentOS
Tilu gerakan unshakable munggaran: passwd, Yum update -y, reboot.
Kami masihan manajemén jaringan jaringand:
# yum install systemd-networkd
# systemctl enable systemd-networkd
# systemctl disable NetworkManager
# chkconfig network off
Jieun file (sareng diréktori) /etc/systemd/network/eth0.network:
[Match]
Name=eth0
[Network]
DHCP=ipv4
Urang reboot "raspberry" jeung deui meunang aksés jaringan ka eta via ssh (alamat IP bisa robah). Nengetan naon dipaké /etc/resolv.conf, dijieun saméméhna ku Network Manager. Ku alatan éta, lamun aya masalah jeung ngabéréskeun, edit eusina. Paké systemd-direngsekeun urang moal.
Kami ngahapus "henteu perlu", ngalereskeun sareng nyepetkeun loading OS:
# systemctl set-default multi-user.target
# yum remove GeoIP Network* aic* alsa* cloud-utils-growpart
cronie* dhc* firewal* initscripts iwl* kexec* logrotate
postfix rsyslog selinux-pol* teamd wpa_supplicant
Anu peryogi Cron jeung saha teu nyerna diwangun-di
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
# vi /etc/systemd/journald.conf
Pareuman pamakean IPv6 ku jasa dasar (upami diperyogikeun)/ Jsb / ssh / sshd_config:
AddressFamily inet
/etc/sysconfig/chronyd:
OPTIONS="-4"
Relevansi waktos dina "raspberry" mangrupikeun hal anu penting. Kusabab out of the box teu aya kamampuan hardware pikeun ngahemat kaayaan jam ayeuna nalika reboot, singkronisasi diperyogikeun. A daemon pohara alus sarta gancang pikeun ieu chrony - geus dipasang tur dimimitian otomatis. Anjeun tiasa ngarobih server NTP ka anu pangcaketna.
/etc/chrony.conf:
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Pikeun nyetél zona waktos anu bakal kami anggo trik. Kusabab tujuan kami nyaéta nyiptakeun router Wi-Fi anu beroperasi dina frékuénsi 5GHz, kami bakal nyiapkeun kejutan sateuacanna regulator:
# yum info crda
Ringkesan: Daemon patuh pangaturan pikeun jaringan nirkabel 802.11
Desain jahat ieu, ogé dumasar kana zona waktos, "ngalarang" pamakean (dina Rusia) frekuensi 5GHz sareng saluran kalayan nomer "luhur". Trikna nyaéta nyetél zona waktos tanpa nganggo nami buana/kota, nyaéta, tibatan:
# timedatectl set-timezone Europe/Moscow
Urang pencét:
# timedatectl set-timezone Etc/GMT-3
Sareng sentuhan akhir pikeun cukuran sistem:
# hostnamectl set-hostname router
/root/.bash_profile:
. . .
# User specific environment and startup programs
export PROMPT_COMMAND="vcgencmd measure_temp"
export LANG=en_US.UTF-8
export PATH=$PATH:$HOME/bin
3. CentOS Add-ons
Sadayana anu disarioskeun di luhur tiasa dianggap petunjuk lengkep pikeun masang "vanili" CentOS dina Raspberry Pi. Anjeun kudu mungkas nepi ka PC nu (deui) sapatu dina kirang ti 10 detik, ngagunakeun kirang ti 15 Megabytes RAM na 1.5 Gigabytes of microSD (sabenerna kirang ti 1 Gigabyte alatan hiji teu lengkep / boot, tapi hayu urang jujur).
Pikeun masang parangkat lunak titik aksés Wi-Fi dina sistem ieu, anjeun kedah rada ngalegaan kamampuan distribusi CentOS standar. Anu mimiti, hayu urang ningkatkeun supir (firmware) tina adaptor Wi-Fi anu diwangun. Kaca imah proyék nyebutkeun:
Wifi dina buah prambus 3B jeung 3B+
File firmware Raspberry PI 3B/3B+ henteu diidinan disebarkeun ku Proyék CentOS. Anjeun tiasa nganggo tulisan di handap ieu pikeun ngartos masalahna, kéngingkeun firmware sareng nyetél wifi.
Naon anu dilarang pikeun proyék CentOS henteu dilarang pikeun kami pikeun panggunaan pribadi. Kami ngagentos firmware distribusi Wi-Fi di CentOS sareng anu saluyu ti pamekar Broadcom (éta gumpalan binér anu sami dibenci ...). Ieu, khususna, bakal ngamungkinkeun anjeun nganggo AC dina modeu titik aksés.
pamutahiran firmware Wi-FiPanggihan model alat sareng versi firmware ayeuna:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver))
Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.14.8 Compiler: 1.24.9 ClmImport: 1.24.9 Creation: 2014-09-02 03:05:33 Inc Data: 7.17.1 Inc Compiler: 1.26.11 Inc ClmImport: 1.26.11 Creation: 2015-03-01 07:22:34
Urang tingali yen versi firmware nyaeta 7.45.18 tanggal 01.03.2015/XNUMX/XNUMX, jeung inget set handap tina angka: 43455 (brcmfmac43455-sdio.bin).
# wget https://downloads.raspberrypi.org/raspbian_lite_latest
# unzip -p raspbian_lite_latest > raspbian.img
# fdisk -l raspbian.img
Disk raspbian.img: 2 GiB, 2197815296 bytes, 4292608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x17869b7d
Device Boot Start End Sectors Size Id Type
raspbian.img1 8192 532480 524289 256M c W95 FAT32 (LBA)
raspbian.img2 540672 4292607 3751936 1.8G 83 Linux
# mount -t ext4 -o loop,offset=$((540672 * 512)) raspbian.img /mnt
# cp -fv /mnt/lib/firmware/brcm/*43455* ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.bin' -> ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob' -> ...
'/mnt/lib/firmware/brcm/brcmfmac43455-sdio.txt' -> ...
# umount /mnt
File firmware adaptor Wi-Fi anu dihasilkeun kedah disalin sareng diganti ku "raspberry" kana diréktori /usr/lib/firmware/brcm/
Urang reboot router hareup jeung seuri contentedly:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver))
Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04
Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 9.10.105 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2018-03-09 18:56:28
Vérsi: 7.45.154 tanggal 27.02.2018/XNUMX/XNUMX.
Sareng tangtosna EPEL:
# cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0
EOF
# yum clean all
# rm -rfv /var/cache/yum
# yum update
4. Konfigurasi jaringan sareng tantangan payun
Salaku urang sapuk di luhur, "raspberry" disambungkeun ku "kawat" ka jaringan lokal. Hayu urang nganggap yén panyadia nyadiakeun aksés Internet dina cara nu sarua: alamat dina jaringan umum dikaluarkeun dinamis ku server DHCP (meureun MAC mengikat). Dina hal ieu, sanggeus setelan ahir buah prambus, Anjeun ngan perlu "nyolok" kabel panyadia kana eta jeung anjeun geus rengse. Otorisasina ngagunakeun systemd-jaringand - topik artikel misah tur teu dibahas di dieu.
Antarbeungeut Wi-Fi buah prambus mangrupikeun jaringan lokal, sareng adaptor Ethernet anu diwangun (eth0) éksternal. Hayu urang angka jaringan lokal statik, contona: 192.168.0.0/24. Alamat buah prambus: 192.168.0.1. A server DHCP bakal beroperasi dina jaringan éksternal (Internet).
Parallel chaos (liris digression)Lennart Pottering geus disusun program sorangan systemd Saé pisan. Ieu systemd ngajalankeun program séjén jadi gancang yén maranéhna, teu boga waktu pikeun cageur tina niup wasit tina kacapi, titajong jeung ragrag di mimiti tanpa malah dimimitian tangtu halangan maranéhna.
Tapi sacara serius, paralelisasi agrésif tina prosés anu diluncurkeun dina mimiti sistem OS mangrupikeun jinis "sasak kalde" pikeun spesialis LSB sequential anu berpengalaman. Untungna, bringing urutan ka ieu "huru-hara paralel" tétéla basajan, sanajan teu salawasna atra.
Urang nyieun dua interfaces sasak virtual kalawan ngaran konstan: LAN и wan. Urang bakal "nyambungkeun" adaptor Wi-Fi ka anu kahiji, sareng eth0 "raspberry" ka anu kadua.
/etc/systemd/network/lan.netdev:
[NetDev]
Name=lan
Kind=bridge
/etc/systemd/network/lan.network:
[Match]
Name=lan
[Network]
Address=192.168.0.1/24
IPForward=yes
/etc/systemd/network/wan.netdev:
[NetDev]
Name=wan
Kind=bridge
#MACAddress=xx:xx:xx:xx:xx:xx
/etc/systemd/network/wan.network:
[Match]
Name=wan
[Network]
DHCP=ipv4
IPForward=yes
IPForward = enya ngaleungitkeun kabutuhan pikeun hint kana kernel via sysctl pikeun ngaktipkeun routing.
MACAddress= Hayu urang uncomment sarta ngarobah lamun perlu.
Mimiti urang "nyambungkeun" eth0. Urang émut "masalah keseragaman" sareng ngan ukur nganggo alamat MAC tina antarmuka ieu, anu tiasa dipendakan, contona, sapertos kieu:
# cat /sys/class/net/eth0/address
Urang nyieun /etc/systemd/network/eth.network:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Network]
Bridge=wan
Kami ngahapus file konfigurasi saméméhna eth0, reboot Raspberry sareng kéngingkeun aksés jaringan ka éta (alamat IP sigana bakal robih):
# rm -fv /etc/systemd/network/eth0.network
# reboot
5.DNSMASQ
Pikeun nyieun titik aksés Wi-Fi, euweuh ngéléhkeun sababaraha amis tina dnsmasq + hostapd teu acan kahartos. Dina pendapat abdi.
Bisi aya nu poho, teras...
Hayu urang mimitian ku dnsmasq:
# yum install dnsmasq
Nyai /etc/resolv.conf:
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 77.88.8.8
nameserver 77.88.8.1
domain router.local
search router.local
edit sesuai selera.
minimalis /etc/dnsmasq.conf:
domain-needed
bogus-priv
interface=lan
bind-dynamic
expand-hosts
domain=#
dhcp-range=192.168.0.100,192.168.0.199,255.255.255.0,24h
conf-dir=/etc/dnsmasq.d
The "magic" didieu perenahna di parameter meungkeut-dinamis, nu ngabejaan daemon dnsmasq ngantosan nepi ka nembongan dina sistem panganteur = lan, tur teu pingsan tina fit tina katiisan reueus sanggeus mimiti.
# systemctl enable dnsmasq
# systemctl start dnsmasq; journalctl -f
6. HOSTAPD
Sarta pamustunganana, konfigurasi hostapd magic. Kuring henteu ragu yén aya anu maca tulisan ieu pikeun milarian persis garis anu berharga ieu.
Sateuacan masang hostapd, anjeun kedah ngatasi "masalah seragam". Adaptor Wi-Fi anu diwangun wlan0 tiasa kalayan gampang ngarobih namina janten wlan1 nalika nyambungkeun alat Wi-Fi USB tambahan. Ku alatan éta, kami bakal ngalereskeun nami antarmuka ku cara kieu: kami bakal ngahasilkeun nami unik pikeun adaptor (nirkabel) sareng ngabeungkeut kana alamat MAC.
Pikeun adaptor Wi-Fi anu diwangun, anu masih wlan0:
# cat /sys/class/net/wlan0/address
b8:27:eb:xx:xx:xx
Urang nyieun /etc/systemd/network/wl0.link:
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Link]
Name=wl0
Ayeuna urang bakal yakin éta wl0 - Ieu diwangun-di Wi-Fi. Urang reboot Raspberry pikeun mastikeun ieu.
Masang:
# yum install hostapd wireless-tools
file konfigurasi /etc/hostapd/hostapd.conf:
ssid=rpi
wpa_passphrase=1234567890
channel=36
country_code=US
interface=wl0
bridge=lan
driver=nl80211
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
macaddr_acl=0
hw_mode=a
wmm_enabled=1
# N
ieee80211n=1
require_ht=1
ht_capab=[MAX-AMSDU-3839][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
# AC
ieee80211ac=1
require_vht=1
ieee80211d=0
ieee80211h=0
vht_capab=[MAX-AMSDU-3839][SHORT-GI-80]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
Tanpa hilap sakedapan
# hostapd /etc/hostapd/hostapd.conf
hostapd bakal ngamimitian dina modeu interaktif, nyiarkeun kaayaanana ka konsol. Upami teu aya kasalahan, teras klien anu ngadukung modeu AC tiasa nyambung ka titik aksés. Pikeun ngeureunkeun hostapd - Ctrl-C.
Sadaya anu tetep nyaéta ngaktipkeun hostapd dina ngamimitian sistem. Upami anjeun ngalakukeun hal standar (systemctl ngaktifkeun hostapd), teras saatos reboot salajengna anjeun tiasa nampi sétan "ngagulung dina getih" kalayan diagnosis "panganteur wl0 teu kapanggih". Salaku hasil tina "huru-hara paralel," hostapd ngamimitian langkung gancang tibatan kernel anu mendakan adaptor nirkabel.
Internét pinuh ku remedies: ti waktu kaluar kapaksa saméméh ngamimitian daemon (sababaraha menit), nepi ka daemon sejen nu monitor penampilan interface jeung (deui) ngamimitian hostpad. Solusi anu cukup bisa dipake, tapi sangar awon. Urang nelepon kana hiji hébat pikeun pitulung systemd kalawan "tujuan" na "tugas" na "dependensi".
Nyalin file layanan distribusi ka /etc/systemd/system/hostapd.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system
sarta ngurangan eusina kana wangun handap:
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=sys-subsystem-net-devices-wl0.device
BindsTo=sys-subsystem-net-devices-wl0.device
[Service]
Type=forking
PIDFile=/run/hostapd.pid
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
[Install]
WantedBy=sys-subsystem-net-devices-wl0.device
Keajaiban file jasa anu diropéa aya dina beungkeutan dinamis hostapd kana udagan énggal - antarmuka wl0. Nalika antarmuka muncul, daemon dimimitian; nalika ngaleungit, éta eureun. Sareng ieu sadayana online - tanpa rebooting sistem. Téhnik ieu bakal mangpaat hususna nalika nyambungkeun adaptor Wi-Fi USB ka Raspberry.
Ayeuna anjeun tiasa:
# systemctl enable hostapd
# reboot
7. IPTABLES
“Naon???” © Sumuhun, nuhun! Euweuh systemd. Henteu aya gabungan anyar (dina bentuk firewalld), anu tungtungna ngalakukeun hal anu sami.
Hayu urang nganggo anu lami iptables, anu jasana, saatos ngamimitian, bakal ngamuat aturan jaringan kana kernel sareng pareum sacara tenang tanpa tetep nyicingan sareng henteu nganggo sumber daya. systemd ngabogaan elegan IPMasquerade=, tapi urang tetep bakal mercayakeun tarjamahan alamat (NAT) sareng firewall ka iptables.
Masang:
# yum install iptables-services
# systemctl enable iptables ip6tables
Kuring resep nyimpen konfigurasi iptables salaku naskah (conto):
#!/bin/bash
#
# Disable IPv6
#
ip6tables --flush
ip6tables --delete-chain
ip6tables --policy INPUT DROP
ip6tables --policy FORWARD DROP
ip6tables --policy OUTPUT DROP
ip6tables-save > /etc/sysconfig/ip6tables
systemctl restart ip6tables
#
# Cleaning
#
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#
# Loopback, lan
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lan -j ACCEPT
#
# Ping, Established
#
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# NAT
#
iptables -t nat -A POSTROUTING -o wan -j MASQUERADE
#
# Saving
#
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables
Urang ngaéksekusi naskah di luhur sarta leungit kamampuhan pikeun ngadegkeun sambungan kabel SSH anyar jeung buah prambus. Éta leres, kami parantos ngadamel router Wi-Fi, aksés anu "ngaliwatan Internét" dilarang sacara standar - ayeuna ngan ukur "dina hawa". Urang sambungkeun kabel Ethernet panyadia tur mimitian surfing!
8. bonus: + 2,4GHz
Nalika kuring ngumpul router Raspberry munggaran nganggo gambar anu dijelaskeun di luhur, kuring mendakan sababaraha gadget di rumah tangga kuring anu, kusabab watesan desain Wi-Fi na, henteu tiasa ningali "raspberry" pisan. Reconfiguring router pikeun digawé di 802.11b / g / n éta unsporting, saprak speed maksimum "leuwih hawa" dina hal ieu teu ngaleuwihan 40 Mbit, sarta panyadia Internet favorit kuring nawarkeun kuring 100 (via kabel).
Nyatana, solusi pikeun masalah éta parantos diciptakeun: antarbeungeut Wi-Fi kadua anu beroperasi dina frékuénsi 2,4 GHz, sareng titik aksés kadua. Di lapak caket dieu mah meuli teu kahiji, tapi kadua USB Wi-Fi "pisel" Kuring datang di sakuliah. Anu ngajual disiksa ku patarosan ngeunaan chipset, kasaluyuan sareng kernel Linux ARM sareng kamungkinan damel dina modeu AP (anjeunna anu mimiti ngamimitian).
Kami ngonpigurasikeun "whistle" ku analogi sareng adaptor Wi-Fi anu diwangun.
Kahiji, hayu urang ngaganti ngaran ka wl1:
# cat /sys/class/net/wlan0/address
b0:6e:bf:xx:xx:xx
/etc/systemd/network/wl1.link:
[Match]
MACAddress=b0:6e:bf:xx:xx:xx
[Link]
Name=wl1
Kami bakal mercayakeun manajemén antarbeungeut Wi-Fi énggal ka daemon hostapd anu misah, anu bakal ngamimitian sareng ngeureunkeun gumantung kana ayana "whistle" anu ditetepkeun sacara ketat dina sistem: wl1.
file konfigurasi /etc/hostapd/hostapd2.conf:
ssid=rpi2
wpa_passphrase=1234567890
#channel=1
#channel=6
channel=11
interface=wl1
bridge=lan
driver=nl80211
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
macaddr_acl=0
hw_mode=g
wmm_enabled=1
# N
ieee80211n=1
require_ht=1
ht_capab=[HT40][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
Eusi file ieu langsung gumantung kana model adaptor USB Wi-Fi, jadi salinan banal / némpelkeun bisa gagal anjeun.
Nyalin file layanan distribusi ka /etc/systemd/system/hostapd2.service:
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service
sarta ngurangan eusina kana wangun handap:
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=sys-subsystem-net-devices-wl1.device
BindsTo=sys-subsystem-net-devices-wl1.device
[Service]
Type=forking
PIDFile=/run/hostapd2.pid
ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd2.conf -P /run/hostapd2.pid -B
[Install]
WantedBy=sys-subsystem-net-devices-wl1.device
Sadaya anu tetep nyaéta pikeun ngaktipkeun conto anyar hostapd:
# systemctl enable hostapd2
Éta hungkul! Tarik "whistle" sareng "raspberry" sorangan, tingali jaringan nirkabel di sabudeureun anjeun.
Tungtungna, kuring hoyong ngingetkeun anjeun ngeunaan kualitas adaptor Wi-Fi USB sareng catu daya buah prambus. Sambungan "hot whistle" kadang bisa ngabalukarkeun "raspberry katirisan" alatan troubles listrik jangka pondok.
sumber: www.habr.com