Portál AbcLinuxu, 10. května 2025 07:11

Dotaz: BusyBox - D-Link DSL-584T

15.10.2008 20:21 artec | skóre: 24
BusyBox - D-Link DSL-584T
Přečteno: 1478×
Odpovědět | Admin
V D-linku DSL-584T s FW V3.00B01T02.EU-A.20070510 mam nahranou mini verzi linuxu BusyBox v0.61.pre. Modem je nastaven v bridgi a ppp spojeni je realizovano z linux serveru, kde nejsou Xka.

Na BusyBoxu na br0 je nastavena IP 10.0.0.138 a maska 255.255.255.0. Problem je v tom, ze se jde na ssh, telnet i http BusyBoxu dostat pouze ze site, ktera je soucasti br0 (coz je jenom BusyBox a Linux server). Navic http BusyBoxu je jeden velkej javascript a v linksu nebo v lynxu se nic nezobrazi. Chtel bych do toho BusyBoxu mit pristup z domaci site (kde mam 3 rozdilne subnety a pak i z WAN).

V BusyBoxu jde sice pres web nastavit IP pro "Remote Web Management" i "Remote Telnet Management", ale proste me to tam z WAN nebo z jineho subnetu opet nepusti.

Zkousel jsem to ze serveru i zNATovat, ale opet me to tam (na ssh, telnet, http) zase nepusti. NAT jsem mel nastaveny spravne (pri pozadavku blikla vzdy LED na modemu).

Zatim jsem to dokazal obelstit na dva zpusoby:
1) na serveru pomoci SSH tunelu
2) na serveru pomoci apache a mod_proxy se dostanu na http BusyBoxu. (nastesti to nekontroluje X-Forward hlavicku).

Jde nejak v tom BusyBoxu nastavit, abych se dostal na ssh, telnet a web odkudkoliv? Konfiguraky k tem binarkam jsem tam prave nikde nenasel.
Kompilovat vlastni BusyBox nechci, v pripade neuspechu bych nechtel davat dalsich 290kc za novy modem.
Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.10.2008 21:19 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jestli můžete tak, tak modem rozdělejte a zkuste najít sériový port. Tyhle věcičky obvykle mají ve firmwaru UBoot a ten umí aktualizovat software přes TFTP.

15.10.2008 22:02 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Tomu jsem se prave chtel vyvarovat. Mate asi pravdu, take trochu tusim, ze v tehle vecicce bude nejaky konektor pro napojeni na seriovy port, jako je v ostatnich...

Nicmene hledat zapojeni konektoru a vyrabet konektor a pak provadet pokusy s kompilaci BusyBoxu a nahravani do D-linku by byla docela vec na to, ze tu krabicku muzu mit dalsi novou za 290kc.

Myslel jsem si, jestli nahodou s tim nema nekdo zkusenosti, jak tento problem vyresit treba nastavenim neceho pres ssh. Jinak jeste doplnim, ze "iptables -L" je uplne prazdne.
16.10.2008 00:02 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jenom pro úplnost: busybox je jedna binárka, která implementuje základní nástroje (cp apod.). Ale ještě jsem neviděl, aby obsahovala iptables, brutils, ebtables nebo iproute2. Tím chci říci, že instalací jiné verze busyboxu nic nevyřešíte.

Asi bych začal hledat, proč to připojení nejde.

Pokud hovoříte o subnetu, myslíte tím IP podsíť? Pokud ano, pak bych hledal chybu v směrovacích tabulkách. Pokud myslíte ethernetový segment, hledal bych v ebtables. Taky je dobré se podívat, na čem chybující služba poslouchá (jestli není přilepena na konkrétní adrese).

Jinak těžko se dostanete na modem z Internetu, když tam máte nastavenou soukromou adresu.

16.10.2008 07:54 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
jojo. imho to bude nejakym omezenim na firewallu - kouknete se na iptables, nebo ty demoni primo visi jen na jednom interface - viz sshd_config a dalsi.
In Ada the typical infinite loop would normally be terminated by detonation.
16.10.2008 12:01 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Po prihlaseni na ssh BusyBoxu to na me vyhodi toto:
BusyBox v0.61.pre (2007.05.10-01:41+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

#
IGMPProxy       \[              arp             ash
atmarp          atmarpd         br2684ctl       brctl
busybox         cat             chgrp           chmod
chown           cm_cli          cm_klogd        cm_logic
cm_pc           cp              date            dd
ddnsd           df              dhcp-fwd        diap
dproxy          dropbear        echo            false
flashwrite      free            grep            hostname
id              ifconfig        init            insmod
ip              iptables        kill            ledapp
ledcfg          ln              login           ls
lsmod           mkdir           modprobe        mount
msntp           mv              passwd          ping
pppd            ps              pwd             reboot
rm              rmmod           route           routed
sh              sleep           snmpd           sync
tar             tc              test            tftp
thttpd          touch           true            tty
udhcpc          udhcpd          umount          upgrade
upnpd           utelnetd        wget            whoami
yes

Takze je patrne, ze to zakladni utility obsahuje. Nastaveni sitovych rozhrani v BusyBoxu:
# ifconfig
br0       Link encap:Ethernet  HWaddr 00:1C:F0:0E:05:D9
          inet addr:10.0.0.138  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  ASYMMTU:1500
          RX packets:32234 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3082501 (2.9 Mb)  TX bytes:8260056 (7.8 Mb)

br1       Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  ASYMMTU:1500
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:1C:F0:0E:05:D9
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  ASYMMTU:1500
          RX packets:418512 errors:0 dropped:0 overruns:0 frame:0
          TX packets:511739 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:58916090 (56.1 Mb)  TX bytes:552635395 (527.0 Mb)
          Base address:0x2800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  ASYMMTU:0
          RX packets:60 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5040 (4.9 kb)  TX bytes:5040 (4.9 kb)

nas0      Link encap:Ethernet  HWaddr 00:AA:BB:CC:DD:10
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  ASYMMTU:1500
          RX packets:481762 errors:0 dropped:0 overruns:0 frame:0
          TX packets:386867 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:544376082 (519.1 Mb)  TX bytes:59835794 (57.0 Mb)
Jeste to vysvetlim lepe: Zapojeni je takoveto:
HTS -> splitter -> Dlink 584T (BusyBox) br0 -> (eth0) Linux server (eth1, eth2, wlan0)
Na br0 v BusyBoxu je 10.0.0.138/32 v siti 10.0.0.0/24
Na eth0 v Linuxu je 10.0.0.1/32 v siti 10.0.0.0/24
Zadne dalsi zarizeni v 10.0.0.0/24 neni pripojeno.

V BusyBoxu na 10.0.0.138 jsou otevreny tyto porty:
# nmap 10.0.0.138

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2008-10-16 11:47 CEST
Interesting ports on 10.0.0.138:
(The 1655 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh
23/tcp open  telnet
80/tcp open  http

Nmap run completed -- 1 IP address (1 host up) scanned in 1.751 seconds
Problem je v tom, ze se pouze ze site 10.0.0.0/24 da na tyto porty na 10.0.0.138 dostat, z ostatnich ne. Routovani mam z vnitrnich sitich (eth1, eth2, wlan0) nastavene spravne a NAT z internetu pres eth0 na linuxu take. Ostatne jsem na zacatku psal, ze kdyz se pokousim prihlasit z jine IP nez v 10.0.0.0/24, tak na d-linku problikne dioda indikujici aktivitu na LAN portu br0, takze to spojeni proste zahodi. Kdyz jsem tam umistil jine zarizeni, na kterem jsem nastavil IP 10.0.0.138 a masku 255.255.255.0, tak jsem se do nej ze vsech jinych subnetu (wlan0, eth1 a eth2) normalne dostal, takze tady broblem nebude, ten je urcite v tom BusyBoxu.
16.10.2008 12:52 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
BusyBox v0.61.pre

Tak to mají řádně opatchované. V oficiálním busyboxu např. iptables nejsou.

Já mám od D-Linku asi jiný routeromodem, tam jsou iptables jako samostatný soubor. Zkuste prohledat PATH.

nmap 10.0.0.138

Lepší by byl netstat na modemu, aby byly vidět adresy.

Pořád mám pocit, že na modemu nemáte nastavenou default routu na váš server, což by elegantně vysvětlilo, proč se nedaří navázat spojení odjinud.

Už jste zkoušel pingnout z modemu přes router do lokální sítě?

Jiný problém v modemu by mohl být tcpwrapper. Zkontrolujte /etc/hotsts.*, nastavení PAMslužeb, inet démona.

Každopádně budete mít něco divného i na serveru, když vám jede spojení lokální spojení, ale natované už ne (technicky se ty packety liší jen TTL). Jste si jistý, že vám ty packety odchází se serveru do eth0 a ne do ppp0?

16.10.2008 16:04 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Tak jste mel pravdu. Ja to celou dobu jenom testoval, ze se dostanu ze vsech subnetu a z Internetu pres NAT do modemu, ale obracene jsem to vubec nezkousel. Pingnout z modemu do jineho subnetu neslo. Problem byl v tom routovani v modemu. Ted jsem teprv zjistil, ze web rozhrani v BusyBoxu neulozi default routu a routovaci tabulka byla prazdna. Kdyz jsem ji pridal pres ssh rucne, hned jsem se z ostatnich subnetu a z internetu pres NAT do BusyBoxu dostal. Dekuji za pomoc, aspon uz vim, cim to bylo.

Akorat to nevyresilo problem trvale. Pres web rozhrani BusyBoxu totiz ta pridana routa neni videt (coz by ani nevadilo), ale horsi je, ze kdyz dam v BusyBoxu ulozit nastaveni, tak default routa zmizi. Takze po resetu/vypadku proudu je to ztracene...
stybla avatar 16.10.2008 16:09 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
A co si vytvorit vlastni skript v /etc/init.d/ ? :)
16.10.2008 16:35 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
To je sice dobry napad, ale nelze mi to nastavit.
# mount
/dev/mtdblock/0 on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /var type ramfs (rw)
a kdyz zadam:
# mount -o remount,rw /
mount: Mounting /dev/root on / failed: Permission denied
Zkousel jsem pred tim dat i sync a porad to same. V BusyBoxu se moc nevyznam jak to maji delane...
stybla avatar 16.10.2008 17:23 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
jasne. hm, ten web iface to nejak delat musi.
stybla avatar 16.10.2008 17:34 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
# mount -n -o remount,rw /; hm?
16.10.2008 17:45 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
# mount -n -o remount,rw /
mount: Mounting /dev/root on / failed: Permission denied
Zkousel jsem si hrat s upgrade a flashwrite, jestli to web rozhrani nahodou nepouziva k ukladani, ale ta cinska krabicka se mi zakousla.
stybla avatar 16.10.2008 18:05 stybla | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
divne. tenhle prikaz je zakomentovany v /etc/init.d/rcS a dle manu by to nemelo zapsat /etc/fstab. myslel jsem, ze problem je prave v tom. jinak nejake cgi skripty jsou v /usr/www/. rekl bych, ze jeden z nich je na ulozeni konfigurace (webcm).
docela me pobavil cvs tree ve /var/html :)
16.10.2008 18:38 artec | skóre: 24
Rozbalit Rozbalit vše Re: BusyBox - D-Link DSL-584T
Trochu tam neco zapomneli no... :)

Mam pocit, ze vsechno, co se dela pres web, je pres cgi webcm, treba /cgi-bin/webcm?getpage=../html/tools/tools_system.htm

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.