Portál AbcLinuxu, 2. května 2025 13:44
auto lo iface lo inet loopback auto eth0 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 auto eth1 iface eth0 inet static address moje.ip.v.czFree netmask 255.255.255.224Takže trocha prasáren a do /etc/init.d/networking si přidávám testovací skript /root/mkbr. Žádné složitosti a jdeme testovat:
#!/bin/bash brctl addbr lan brctl addif lan eth0 brctl addif lan eth1 dhclient lanRestart sítě (bacha, trvá déle než by jeden čekal), bridge si lízne a je to. Ping z eth1, ping z eth0. Bezva. Připojuji síťvou tiskárnu do eth1, sosne si IPinu, z routeru ji pingnu. Hezké. Tak co třeba něco vytisknout z druhého počítače připojeného do routeru ... Tak nic. Nepingne. Cože ?? Asi mám něco blbě, takže se testovací skript rozrůstá:
#!/bin/bash ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 ifconfig eth0 promisc up ifconfig eth1 promisc up brctl addbr lan brctl addif lan eth0 brctl addif lan eth1 dhclient lan cd /proc/sys/net/ipv4/conf/all echo "1"> proxy_arp echo "1"> proxy_arp_pvlanNic, nepomáhá. Nechávám problém uležet a natahuji 3 metry USB kabelu. Po čase se nahněten vracím a věnuji tomu delší chvíli googlení. Pamatujete minulý blogpost a větu "Na desce jsou tedy 2 logické (RGMII) porty a switch Atheros AR8316." ? V jejím závěru je klíč. Switch Atheros. O bugu se ví a je vyřešen jednoduše, stačí nainstalit swconfig a libnl-tiny , které údajně rostou na www.debwrt.net/downloads/packages/. 404. Hehehe. Tak co s tím ... ? Na googlu nic není, mailing list mrtev. Nakonec dostávám vnuknutí a jako poslední zoufalý pokus zkouším, jestli se někdo neupsal. Jo, ne downloads, ale download ... chjo. (UPDATE: Během 24 hod. od nahlášení opraveno !!). Takže stahuji dva DEBy, dpkg -i a připisuji další čtyři řádky do skriptu:
#!/bin/bash swconfig dev eth1 set reset 1 swconfig dev eth1 set enable_vlan 1 swconfig dev eth1 vlan 0 set ports '0 1 2 3 4' swconfig dev eth1 set apply 1 ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 ifconfig eth0 promisc up ifconfig eth1 promisc up brctl addbr lan brctl addif lan eth0 brctl addif lan eth1 dhclient lan cd /proc/sys/net/ipv4/conf/all echo "1"> proxy_arp echo "1"> proxy_arp_pvlanAsi by se dá pár vymazat, ale TAKHLE TO CHODÍ. Pokud někdo potřebuje RouterStation s DebWRT jako transparentní bridge, nechť je mu blogpost poučením kudy se nevydávat a udělá to rovnou instalací swconfigu a nastavuje to pak elegantněji pomocí konfiguráků v /etc
Tiskni
Sdílej:
čtyři ethernetové porty, které se tváří jako dvě síťovkyA kolik to teda ve finálu má IP adres ?
/etc/config/firewall
OK, tak ať to hoří
Další důvod, proč se nezabývat zařízením jako je toto a sáhnout po ověřeném MikrotikuTo je asi tak jako radit někomu, ať si na desktopu místo toho blbýho linuxu dá windows :).
po instalaci jsem dlouho řešil konfiguraci sítě a protože moc návodů na internetu není, tak se podělím o své zkušenosti.
Takže co se týče sítě, tak jsem neprve postupoval podle návodu, který je zde: http://dev.debwrt.net/wiki/Networking
Myslím, že balíčky nejsou aktuální, rozbil jsem si tím instalaci, takže tento postup nedoporučuji.
Moje představa: jeden ethernet na připojení k internetu WLAN, ostatní ethernety spolu s wifi na jeden bridge. Wifi a ostatní ethernety budou routování na WLAN.
Tento článek mě navedl k autorovi, který čerstvě přidal opravy pro Router station pro s mnou požadovanou konfigurací. Není ještě vytvořen balíček, nicméně stačí si rozumně postahovat skripty a provést menší opravu.
Nejprve jsem si stáhl skripty modprobe.d/debwrt.con
a interfaces.rspro
. Naleznete na této adrese: http://dev.debwrt.net/browser/trunk/debian/package/debwrt-net/etc/network/interfaces.rspro?rev=325
Je fajn si postahovat i ostatní skripty (především firewall, modprobe.d atp.) http://dev.debwrt.net/browser/trunk/debian/package/debwrt-net/etc?rev=325&order=name
Jako poslední jsem postahoval konfigurační soubory z balíčku hostapd. Také zaznamenaly čerstvě změnu. Jelikož jsem chtěl šifrování přes WPA, stáhnul jsem si hostapd-wpa.conf
. Viz tato adresa: http://dev.debwrt.net/browser/trunk/debian/package/hostapd/debian?rev=325
Nezapomeňte nakonfigurovat dnsmasq.conf na přidělování IP adres.
K dnešnímu dni je ještě chyba ve skriptu interfaces.rspro
.
pro bridge s wifi opravte následující řádek:
bridge-ports lan
na následující:
bridge-ports lan wifi
Mělo by to být vše.
Hodně úspěchu.
Váš návod na nastavení switche se objevuje i na oficiálních stránkách.
Nemohu přijít na to proč, ale příkaz:
swconfig dev eth1 set reset 1
a další série těchto příkazu se swconfig
mi vyhazuje SEGMANTATION FAULT.
Zkoušel jsem různé věci. Nejprve jsem dal příkazy do /etc/init.d/networking
, jako Vy. Později jsem vše dal do /etc/network/interfaces
. Vždy bohužel se stejným výsledkem SEGMENTATION FAULT. Dokonce jsem zkompiloval a nainstaloval aktuální swconfig. Opět stejný výsledek.
Používám debwrt2.0 s jádrem 2.6.32.20 - nekompiloval jsem vlastní.
Máte nějaký tip, jak problém vyřešit? Přemýšlel jsem, zda mi například nechybí nějaký modul v jádře nebo tak něco. Nevím si už rady.
Díky.Tak jsem prakticky po roce našel řešení. Bohužel Router Station Pro se už nevyrábí, ale možná můj postup někomu pomůže.
Problém byl v tom, že na oficiálních stránkách debwrt: http://www.debwrt.net/download/releases/2.0/ je poněkud starší firmware a jádro, se kterým se mi swconfig nepodařilo rozjet. Switch prostě nefunguje.
Řešením je kompilace a použití novějšího jádra. Níže sepisuje všechny svoje poznatky. Swtich jsem otestoval a je funkčí s jádrem 3.6.11.
Nejprve pojďme na stránky debwrt: http://debwrt.net/wiki/DebWrtSvn
Stáhnout aktuální revizi debwrt: svn checkout https://svn.debwrt.net/debwrt/trunk debwrt
poslední revizi, kterou mám vyzkoušenu je: r341
pro kompilaci použít: make menuconfig
- Target System - Atheros AR71xx
- Target Profile - Ubiquiti RouterStation Pro
Měl jsem problémy s kompilací. Musel jsem editovat soubor: openwrt/openwrt.mk
V souboru zakomentovat řádky, ve kterých se vyskytuje aplikace tohoto patche: 004_save_environment_variables
#patch -d $(OPENWRT_BUILD_DIR) -p 0 -N \
< $(PATCHES_DIR_OPENWRT)/004_save_environment_variables
Protože aktuální verze OpenWrt vykazovala problémy při kompilaci, zvolil jsem starší revizi OpenWrt ke kompilaci. Konkrétně revizi r35112
.
Pro jednoduchost je nejlepší opravit všechny řádky, které začínají 'svn' na
'svn co -r 35112 svn://svn.openwrt.org...'
Nyní můžeme v hlavní adresáři spustit kompilaci: make V=99
Kompilace sice skončí chybou, to ovšem nevadí, protože se podařilo zkompilovat firmware pro nové jádro a jaderné moduly.
Vstupíme do adresáře
build/openwrt-ar71xx-generic_UBNTRSPRO-trunk-default/bin/ar71xx
je zde firmware: openwrt-ar71xx-generic-ubnt-rspro-squashfs-factory.bin
takže flashnout původní firmware novým. Návod na flashnutí lze použít
například z těchto stránek: http://martin.vancl.eu/openwrt-3-nahrani-vlastniho-obrazu-do-routerstation
Routerstation Pro bude nyní vyžadovat moduly k novému jádru. Tyto moduly musíme nakopírovat na SD kartu.
Na novou SD kartu jsem nejprve nakopíroval a dekomprimoval filesystém pro debwrt. Filesystém lze stáhnout zde: odkaz: http://www.debwrt.net/download/releases/2.0/debwrt-rootfs-mips-2.0-1.tar.bz2
Nyní zkopírujeme na SD kartu do složky /lib/modules
moduly k novému jádru,
které jsou zde: build/openwrt-ar71xx-generic_UBNTRSPRO-trunk-default/tmp/modules/lib/modules
Dále vstoupíme do adresáře se zkompilovaným firmware: build/openwrt-ar71xx-generic_UBNTRSPRO-trunk-default/bin/ar71xx
vyhledáme soubor: openwrt-ar71xx-generic-rootfs.tar.gz
, dekomprimujeme, a
překopírujeme obsah složky lib/modules na SD kartu. Jsou zde další moduly.
SD karta je připravena. Nabootujeme systém. Počítejte s tím, že systém
nenalezne ještě síťové moduly. Musíme v nabootovaném systému spustit 'depmod
-a'
, aby byly namapovány i ručně přikopírované moduly. Pokud někdo přijde na
to, jak spustit 'depmod -a'
na SD kartě bez nabootovaného RouterStation Pro,
nabootuje systém hned napoprvé v pořádku.
Pro fungující switch zbývá ještě stáhnout 3 soubory: http://dev.debwrt.net/changeset/325
modprobe.d/debwrt.confMám otestováno, že v této kombinaci je switch funkční.
Přidám ještě jeden tip na využití Router Station Pro.
Router Station Pro má celkem 4 lanky. Když to zjednuduším, tak jedna je hardwarově oddělená a jde do ní ineternet. Zbytek se vlastně chová jako switch v interní síti - čemuž odpovídá diskuse a konfigurace výše.
Ve switchi jsou tedy 3 lanky.
Rozhodl jsem se, že 2 lanky budou ve switchi a z hlediska bezpečnosti vytvořím DMZ na třetí lance. Na DMZ lance bude tedy jiná síť. Podle tohho upravím i firewall. Na lance v DMZ budu provozovat malý webserver. Když se útočník probourá na webserver, tak se nedostane na ostatní počítače v síti. Chce to pohrát si s firewallem, ale jinak je to dobrá myšlenky a Router Station Pro mi po několika dnech pokusů a omylů dal řešení.
Nakonfigurování sítě je v souboru /etc/network/interfaces.rspro
(odkaz je výše). Připíšu pouze řádky, které jsem musel upravovat.
Nejvíce práce mi dalo odladit pre-switch. Všechna čísla mají svůj význam. To co jsem chtěl mít ve switchi musí být na vlan0 nikoli na vlan1 - jako bylo původně. Pak jsem vytvořil vlan2 - to je jedna z lanek mno a zároveň přiděluji lance v DMZ ip adresu. V DMZ dhcp neprovozuji - není potřeba a myslím, že je to i moudré z hlediska bezpečnosti. Takže na PC připojené v DMZ musím nakonfigurovat síť ručně.
auto pre-switch iface pre-switch inet manual pre-up /usr/sbin/swconfig dev lan set reset pre-up /usr/sbin/swconfig dev lan set enable_vlan 0 # pre-up /usr/sbin/swconfig dev lan vlan 1 set ports "0 2 3 4" pre-up /usr/sbin/swconfig dev lan vlan 0 set ports "0 3 4" pre-up /usr/sbin/swconfig dev lan set enable_vlan 2 # pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 2" # vconfig add lan 1; ifconfig lan.1 ip up # pre-up /usr/sbin/swconfig dev lan vlan 4 set ports "0t 4" # vconfig add lan 1; ifconfig lan.1 ip up # pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 3" # vconfig add lan 2; ifconfig lan.2 ip up # pre-up /usr/sbin/swconfig dev lan vlan 3 set ports "0t 2" # vconfig add lan 3; ifconfig lan.3 ip up pre-up /usr/sbin/swconfig dev lan set apply pre-up /sbin/vconfig add lan 2 auto lan.2 iface lan.2 inet static address 192.168.2.1 netmask 255.255.255.0
tak chybička se vloudila, následující řádek musí být odkomentovaný - to je ten DMZ port.
pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 2" # vconfig add lan 1; ifconfig lan.1 ip up
V interní síti všechno funguje, zařízení na wifi vidí zařízení na lankách atp. Jediný problém který jsem teď zaznamenal a nechápu je s mým telefonem. Linuxový počítač na wifi se dostane na jiný počítač, který je připojený k routeru přes ethernet. Ovšem telefon s androidem, který je připojený přes wifi se nedostane na žádný jiný počítač, který je připojený přes ethernetový kabel.
Problém vůbec nechápu. Proč se notas s wifi dostane všude na interní síť a telefon s wifi jenom na zařízení které jsou připojeny přes wifi?
S telefonem jsem nikdy problém neměl.
Verze androidu je 2.2.2.
Když odstraním vlan2, tak se Androidí telefon dostane všude, tak jak má. Jenomže to mi neřeší DMZ.
pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 2" # vconfig add lan 1; ifconfig lan.1 ip upzatim nevim, kde hledat problem.
# DebWrt Debian interfaces: RouterStation Pro # # - Atheros wireless chipset # - Atheros AR8316 switch # - Hostapd WPA # - Firewall # # note: don't forget to enable dnsmasq in /etc/defaults/dnsmasq # # Madwifi drivers are disabled by default in DebWrt ( /etc/modprobe.d/debwrt.conf ). This # interfaces file and hostapd config files ( /etc/hostapd/* and /etc/defaults/hostapd ) # assume the linuxwireless drivers. # # linuxwireless | ath5k, ath9k: wlan0-wlanN | hostapd driver: nl80211 # madwifi | ath_pci : wifi0-wifiN -> wlan0 | hostapd driver: madwifi # # Madwifi: When using madwifi(ath_pci) drivers instead of linuxwireles(athNx) drivers, install # madwifi-tools from Debian Lenny: http://packages.debian.org/nl/lenny/madwifi-tools. Note # that /etc/modprobe.d/madwifi is created when installing madwifi-tools, which disables # loading of linuxwireless drivers. This file should be removed. # # Change driver=nl80211 to driver=madwifi in the hostap.conf file, and the # appropriate lines ( wlanconfig ) in the wifi section of this interfaces file. # # The switch configures all three LAN ports into one VLAN. Note the example lines on how to # use the cpu-port to tag unagged traffic to be used with normal linux vlan configuration. The # additional example connects every physical lan port on a seperate vlan interface in linux # (lan.1, lan.2 and lan.3). # # Hostapd is used to setup the wireless device as an access point. Hostapd adds the # wireless device automatically to the lan bridge(br-lan). There are several hostapd example # files provided by DebWrt. See /etc/hostapd. Adjust /etc/default/hostapd to # select which configuration to use. By default it is hostapd-nokey.conf. # # Amain amain@debwrt.net - december 2012 auto lo iface lo inet loopback auto pre iface pre inet manual pre-up /sbin/ifconfig eth0 down pre-up /sbin/ifconfig eth1 down pre-up /sbin/ifconfig wlan0 down pre-up /sbin/ip link set eth0 name wan pre-up /sbin/ip link set eth1 name lan pre-up /sbin/ip link set wlan0 name wifi pre-up /etc/firewall/firewall.sh start # switch Atheros AR8316 / lan # # WAN 5 physically* separated and connected to eth0 # LAN 1 4 # LAN 2 3 # LAN 3 2 # n/a 1 No external connector, unusable # CPU 0 # # http://wiki.openwrt.org/toh/ubiquiti/routerstation.pro # http://wiki.mikrotik.com/wiki/Switch_Chip_Features auto pre-switch iface pre-switch inet manual pre-up /usr/sbin/swconfig dev lan set reset pre-up /usr/sbin/swconfig dev lan set enable_vlan 0 # pre-up /usr/sbin/swconfig dev lan vlan 1 set ports "0 2 3 4" pre-up /usr/sbin/swconfig dev lan vlan 0 set ports "0 3 4" pre-up /usr/sbin/swconfig dev lan set enable_vlan 2 pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 2" # vconfig add lan 1; ifconfig lan.1 ip up # pre-up /usr/sbin/swconfig dev lan vlan 4 set ports "0t 4" # vconfig add lan 1; ifconfig lan.1 ip up # pre-up /usr/sbin/swconfig dev lan vlan 2 set ports "0t 3" # vconfig add lan 2; ifconfig lan.2 ip up # pre-up /usr/sbin/swconfig dev lan vlan 3 set ports "0t 2" # vconfig add lan 3; ifconfig lan.3 ip up pre-up /usr/sbin/swconfig dev lan set apply pre-up /sbin/vconfig add lan 0 pre-up /sbin/vconfig add lan 2 auto lan iface lan inet manual pre-up /sbin/ifconfig lan up post-down /sbin/ifconfig lan down auto wan iface wan inet manual pre-up /sbin/ifconfig wan up pre-up start-stop-daemon --start \ --oknodo \ --quiet \ --pidfile /var/run/dhclient.wan.pid \ --exec /sbin/dhclient \ -- -v -pf /var/run/dhclient.wan.pid -lf /var/lib/dhcp/dhclient.wan.leases -nw wan post-down /sbin/ifconfig wan down post-down start-stop-daemon --stop \ --signal HUP \ --pidfile /var/run/dhclient.wan.pid \ --exec /sbin/dhclient auto br-lan iface br-lan inet static bridge-ports lan.0 wifi bridge-stp off bridge-maxwait 0 address 10.112.234.1 netmask 255.255.255.0 auto lan.2 iface lan.2 inet static address 192.168.2.1 netmask 255.255.255.0 auto wifi iface wifi inet manual # pre-up /sbin/ifconfig wifi0 down # pre-up /sbin/wlanconfig ath0 create wlandev wifi0 wlanmode ap # pre-up /sbin/ip link set ath0 name wifi pre-up /sbin/ifconfig wifi up pre-up /etc/init.d/hostapd start post-down /etc/init.d/hostapd stop post-down /sbin/ifconfig wifi down # post-down /sbin/wlanconfig wifi destroy auto post-switch iface post-switch inet manual post-down /usr/sbin/swconfig dev lan set reset post-down /usr/sbin/swconfig dev lan set apply auto post iface post inet manual post-down /sbin/ip link set wifi name wlan0 post-down /sbin/ip link set lan name eth1 post-down /sbin/ip link set wan name eth0 post-down /etc/firewall/firewall.sh stop
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.