1. Le matériel: D-Link Wireless ADSL Router DSL-G604T▲
Voila une petite boite trés à la mode, qui permet le tout-en-1 et répond à un certain nombre de problèmes que nous rencontrons lorsque nous montons un réseau domestique. Un routeur-modem c'est avant tout un partage de connexion ADSL, un routeur pour LAN (Local Area Network), et maintenant pour WLAN (Wireless LAN).Ensuite, en fonction des constructeurs, on demande d'autres services et outils, notamment en terme de monitoring, de sécurité, de mise à jour, de puissance, de compatibilité.
Mon choix personnel c'est finalement porté sur le D-Link DSL-G604T. Nous pourrions bien sur discuter longtemps pour connaître le meilleur routeur-modem ADSL du moment. J'ai juste envie de dire que ce modèle est correct, mais loin d'être parfait.
1-1. Les spécifications générales▲
- Partage d'un accès Internet ADSL (jusqu'à 253 machines)
- Modem ADSL intégré (PPPoE, PPPoA, IPoA)
- Interfaces: 4 ports 10/100Base RJ45, 1 port ADSL WAN RJ11, point d'accès Wireless 802.11g 54Mbs
- Serveur et client DHCP intégrés
- Routage statique et dynamique (RIP v1/v2)
- Routage avec translation d'adresse NAT
- Sécurité: Support VPN (PPTP/L2TP/IPSec), DMZ, Firewall SPI, Filtrage IP, Filtrage MAC, WEP 128 bits, et WPA 256 bits, masquage SSID
- Administration: Serveur Web et Telnet, UPnP
- Antenne amovible, sur connecteur RP-SMA (Reverse Polarity SMA ou SMA inverse, avec le mâle sur le boitier)
- Bloc d'alimentation externe
- Dimensions : 180 x 141 x 30 mm
- Livré avec câbles Ethernet et télephone
- Administration: Serveur Web et Telnet, UPnP
Voila pour les fonctionnalités générales. Apparemment, il fait tout ce que j'attends de lui.
1-2. Les spécifications détaillées▲
Standards | ANSI T1.413 issue 2
ITU G.992.1 (G.dmt) ITU G.992.2 (G.lite) ITU G.994.1 (G.hs) IEEE 802.3 IEEE 802.3u IEEE 802.11 IEEE 802.11b IEEE 802.11g |
Ports | RJ-11 Port for Connection to ADSL
Four 10/100Mbps Ethernet LAN Ports for Connection to Ethernet-enalbed devices |
Device Management | Telnet
HTTP Web Management TFTP for Firmware Upgrade |
DSL Data Rates | DMT full rate downstream (up to 8Mbps)
DMT full rate upstream (up to 640Kbps) G.lite ADSL downstream (up to 1.5Mbps) G.lite ADSL upstream (up to 512Kbps) |
Operating System | MontaVista Real-Time Linux based |
Software Features | Dynamic Learning (Up to 256 MAC Addresses) |
DHCP | Server and Client |
Routing Protocols Supported | TCP/UDP, ARP, RARP, ICMP, DHCP,
DNS, RIPv1 (RFC 1058), RIP v2
(RFC1389), IGMP, PPPoE, IGMP, P2PP
VPN Pass Through
L2TP PPTP IPSec |
Wireless Data Rates | IEEE 802.11b: 11, 5.5, 2, and 1Mbps
IEEE 802.11g: 54, 48, 36, 24, 18, 12, 9, 6Mbps |
Media Access Protocol | DSMA/CA with ACK |
Wireless Security | WEP: 64/128/256-bit
WPA (IEEE 802.1x + TKIP) |
Wireless Frequency Range | 2400 ~ 2484.5Mhz ISM Band |
Radio and Modulation Type | IEEE 802.11b: DQPSK, DBPSK, DSSS, and CCK
IEEE 802.11g: BPSK, QPSK, 16QAM, 64QAM. OFDM |
Channels | 11 Channels (US)
13 Channels (Europe and Japan) |
LEDs | Power
Status WLAN ADSL Link/Act Ethernet Link/Act Ethernet 10/100M |
Power | Output: 12V AC, 1.2A
Max Power Consumption: 12W |
Operating Temperature | 0º to 40ºC (32ºF to 104ºF) |
Storage Temperature | -20º to 70ºC (-4ºF to 158ºF) |
Certifications | FCC Part 15 Class B
FCC Part 68 IEC 60950 EN 60950 CSA 950 CE Mark UL 1950 3rd Ed |
Dimensions | 7.07in x 5.59in x 1.18in |
Weight | 0.8lbs |
Warranty | 1 Year |
Outre cette matrice officielle distribuée par D-Link, on notera d'autres informations importantes sur ce matériel:
- Micro-processeur Texas Instrument TNETD7300 AR7W MIPS 4KEc
- 16mb RAM module Hynix HY57V281620HCT
- 4mb de mémoire flash Atmel AT49BV322A, avec un File System SquashFS
- Chipset WiFi VLINQ
2. Remarques hardware▲
Le chipset processeur:
Le G604T est doté d'un chipset Texas Instrument AR7, muni d'un processeur MIPS32 4KEc (Mips Technologies).
The Texas Instrument AR7 is the fully integrated single-chip ADSL CPE access router solution. The AR7 combines a MIPS32 processor,
an ADSL PHY subsystem based on TI C62x DSP with integrated transceiver, integrated IEEE 802.3 PHY, two IEEE 802.3 MACs with integrated MII,
hardware accelerated ATM SAR, integrated USB 1.1, UART, GPIO and EJTAG interfaces.The AR7W is an AR7 option with a interface for WiFi card.
- MIPS32® 4KEc® Processor Core Data Sheet: http://wpetrus.developpez.com/linux/g604tfr/fichiers/4KE.pdf
- AR7W Chipset descirption: http://wpetrus.developpez.com/linux/g604tfr/fichiers/ar7wi_prod_bulletin.pdf
3. Remarques firmware et software▲
3-1. Les différentes version de firmware▲
Acheté en Février 2005, le routeur que je possède est doté du Firmware V1.00B02T02.EU.20040618. Vous pouvez connaître la version de votre firmware via l'interface d'administration:
... ou bien via une commande shell avec telnet:
# # cat /
etc/
versions
# CUSTOMER=
DLinkEU
# MODEL=
DSL-
G604T
# VERSION=
V1.00
B02T02.EU.20040618
# HTML_LANG=
EN
# BOARD=
AR7WRD
# VERSION_ID=
EU
# CPUARCH_NAME=
AR7
# MODEL_ID=
604
# FSSTAMP=
20040618180732
Mouais :-/... une version qui date de Juin 2004, j'imagine que je dois pouvoir trouver mieux et l'upgrader. J'ai donc cherché dans les ressources D-Link,
les newsgroup et autres forums.
Il existe effectivement d'autres firmwares:
- Sur le FTP Anglais de D-Link [ftp://ftp.dlink.co.uk/dsl_routers_modems/dsl-g604t/], on trouve un Firmware DSL-G604T_FW_v1.00B03T01.UK.20041126, un peu plus récent, mais localisé "UK".
- Sur le FTP Russe de D-Link [ftp://ftp.dlink.ru/pub/ADSL/DSL-G604T/Firmware/], on trouve un Firmware DLinkRU_DSL-G604T_V1.00B02T02.RU.20041014, un peu plus récent que le "EU", mais localisé "RU".
- Sur le FTP Italien de D-Link [ftp://ftp.dlink.it/pub/Adsl/DSL-G604T/Firmware/], on trouve le même Firmware DSL-G604T_V1.00B02T02.EU.20040618, un DLINK_TA_DSL_G604T_V1.00B02T02.TA.20040921, et une version béta trés récente: DLinkTA_DSL-G604T_singleimage_kernel_fs_V1.00B02T02.TA.20050124 optimisée pour le P2P visiblement.
- Et enfin sur un dernier site Russe, ou un particulier semble essayer d'assurer le développement d'un fork du firmware officiel (http://mcmcc.bat.ru/dlinkt/), on trouve le même Firmware DSL-G604T_V1.00B02T02.EU.20040618, un DLINK_TA_DSL_G604T_V1.00B02T02.TA.20040921, et une version béta trés récente: DLinkTA_DSL-G604T_singleimage_kernel_fs_V1.00B02T02.TA.20050124 optimisée pour le P2P visiblement.
Mise à jour du 27/12/2005 !
Depuis la version initiale de ce document, les firmwares ont évolués, de façon assez lente à mon goût. Néanmoins, on peut maintenant
trouver une version V2.00 Européen sur le serveur FTP russe de D-Link [ftp://ftp.dlink.ru/pub/ADSL/DSL-G604T/Firmware/ADSL2+/], qui concerne les abonnements ASDL2+. Le changelog de cette version
nommée V2.00B01T01.EU.20050930 est plutot simple:
1. Fix DMZ issue.
2. Fix IGMP package flood.
3. More than 15 rules in Advanced/Filter and Advanced/Bridge Filter.
4. Adjust parameters to avoid the lack of NAT sessions issue while using P2P
HISTORY NOTES
* Fix multiple bridge(PVC) issue for DSL-G6xxT series models.(2005/08/15)
* Fix it can not add staic route rule into routing table after system save and reboot.(2005/06/30)
Pour installer cette nouvelle génération de firmware, vous aurez besoin d'un utilitaire disponible pour Windows [ftp://ftp.dlink.ru/pub/ADSL/DSL-G604T/Firmware/ADSL2+/DLinkEU_DSL-G604T_V2.00B01T01.EU.20050930_upgradeB10.exe].
Sur le même serveur FTP, un autre firmware "Russe" est disponible: V2.01B01T01.RU.20051205. le Changelog est plus complet, mais il est
préférable d'étudier soigneusement cette nouvelle version:
Release NOTE:
- support PPTP Client work with PPPOE/PPPOA/Static/DHCP WAN Connection type
- add internal port range on virtual server rules
- support add multiple port entries in one virtual server rule
- SSH server can be enabled/disabled(default SSH server is disabled)
- fix traceroute issue
- solve the problem that the password will become null
if the customer just enabled remote telnet or Web
- fix limited attempts of PPP establishing(now the PPP failure retry
count becomes infinite)
- fix port mapping bugs
HISTORY NOTES
- support parent Control(including URL Blocking and Domain Blocking)
- support multiple PPPOE passthrough
- support Multiple PPTP Passthrough
- support 2 layer log in
- support input special characters in PPP user/password
- show firmware build date/time at the beginning of the log report
3-2. Mise à jour du firmware▲
prochainement ...
3-3. La distribution MontaVista▲
Le routeur est doté d'une distribution MontaVista, créé pour le monde de l'embarqué et du temps réel. Comment savoir quelle distribution votre routeur (que ce soit NetGear, Belkin, Linksys) embarque ? Il suffit juste d'avoir un accès Telnet (ou SSH), comme décrit au paragraphe 3.5 [Connexion Telnet], de s'identifier et de lancer une petite commande (si elle est autorisée):
# cat /proc/version
Linux version 2
.4
.17_mvl21-malta-mips_fp_le (
jordan@Jordan_Linux)
(
gcc version 2
.95
.3
20010315
(
release/MontaVista)) #60 ¶g¤ 6¤ë 18 14:13:34 CST 2004
#
Nous verrons vite que le nombre de commandes supporté est plutot mince :-/, du fait
de l'intégration de BusyBox, une compilation de commandes "light".
La distribution MontaVista
est spécialisée dans les solutions temps-réel et embarqué. La société propose des plateformes customisables pour les industries,
les intégrateurs de technologies mobiles (téléphonie notamment). Une version est même compilée pour supporter "nativement" des
applicatifs J2ME. NTTDoCoMo (leader en téléphonie mobile au Japon) à d'ailleur investi dans la société MontaVista Software Inc. à
hauteur de 3 Millions de $ l'an passé. D'autres partenaires constituent le marché de la société: Alcatel, NEC, Panasonic, D-Link, IBM,
Samsung, Toshiba. Description de Montavista Linux PE
3-3-1. Informations CPU▲
# cat /
proc/
cpuinfo
processor : 0
cpu model : MIPS 4
KEc V4.8
BogoMIPS : 149.91
wait instruction : no
microsecond timers : yes
extra interrupt vector : yes
hardware watchpoint : yes
VCED exceptions : not available
VCEI exceptions : not available
#
3-3-2. Informations Mémoire▲
# cat /
proc/
meminfo
total
:
used: free: shared: buffers: cached:
Mem
:
14974976
12541952
2433024
0
1368064
4218880
Swap
:
0
0
0
MemTotal
:
14624
kB
MemFree
:
2376
kB
MemShared
:
0
kB
Buffers
:
1336
kB
Cached
:
4120
kB
SwapCached
:
0
kB
Active
:
2672
kB
Inactive
:
4436
kB
HighTotal
:
0
kB
HighFree
:
0
kB
LowTotal
:
14624
kB
LowFree
:
2376
kB
SwapTotal
:
0
kB
SwapFree
:
0
kB
#
3-3-3. Informations "File System et Mounting"▲
# cat /
proc/
mounts
/
dev/
mtdblock/
0
/
squashfs ro 0
0
none /
dev devfs rw 0
0
proc /
proc proc rw 0
0
ramfs /
var
ramfs rw 0
0
# df
Filesystem 1
k-
blocks Used Available Use%
Mounted on
/
dev/
mtdblock/
0
1984
1984
0
100
%
/
#
3-3-4. Processus courants▲
# ps aux
PID Uid VmSize Stat Command
1
root 1284
S init
2
root S [keventd]
3
root S [ksoftirqd_CPU0]
4
root S [kswapd]
5
root S [bdflush]
6
root S [kupdated]
7
root S [mtdblockd]
26
root D [adsl]
32
root 1664
S /
usr/
bin/
cm_pc
34
root 1392
S /
usr/
sbin/
thttpd -
g -
d /
usr/
www -
u root -
p 80
-
c /
cg
35
root 1292
S /
usr/
sbin/
diap
37
root 1284
S init
39
root 2892
S /
usr/
bin/
cm_logic -
m /
dev/
ticfg -
c /
etc/
config.xml
40
root 1276
S /
usr/
bin/
cm_monitor
255
root 632
S /
sbin/
dproxy -
c /
etc/
resolv.conf -
d
276
root 2344
S /
usr/
sbin/
pppd plugin pppoe nas0 user xxxxxxx@xxxxx
405
root 684
S /
usr/
sbin/
udhcpd /
var
/
tmp/
udhcpd.conf
535
root 1288
S /
bin/
sh -
c /
usr/
sbin/
user_drv
536
root 4248
S /
usr/
sbin/
user_drv
537
root 4248
S /
usr/
sbin/
user_drv
538
root 4248
S /
usr/
sbin/
user_drv
539
root 4248
S /
usr/
sbin/
user_drv
541
root 4248
S /
usr/
sbin/
user_drv
556
root 616
S /
sbin/
utelnetd
557
root 1288
S -
sh
558
root 1284
R ps aux
#
3-3-5. Modules noyau▲
# lsmod
Module Size Used by
tiwlan 67816
2
ip_nat_talk 3080
0
(
unused)
ip_conntrack_talk 2908
2
ip_nat_tftp 2280
0
(
unused)
ip_conntrack_tftp 2204
1
ip_nat_irc 3224
0
(
unused)
ip_conntrack_irc 3836
1
ip_nat_h323 3344
0
(
unused)
ip_conntrack_h323 3068
1
ip_nat_ftp 4056
0
(
unused)
ip_conntrack_ftp 5004
1
ipt_multiport 972
0
(
unused)
ipt_REDIRECT 1044
0
(
unused)
ipt_limit 1356
0
(
unused)
ipt_TCPMSS 2956
1
ipt_state 920
3
ipt_MASQUERADE 1684
1
iptable_nat 22856
6
[ip_nat_talk ip_nat_tftp ip_nat_irc ip_nat_h323 ip_nat_ftp
ipt_REDIRECT ipt_MASQUERADE]
iptable_filter 2076
0
(
unused)
ip_conntrack 29648
8
[ip_nat_talk ip_conntrack_talk ip_nat_tftp ip_conntrack_tftp
ip_nat_irc ip_conntrack_irc ip_nat_h323 ip_conntrack_h323 ip_nat_ftp ip_conntrack_ftp ipt_REDIRECT
ipt_state ipt_MASQUERADE iptable_nat]
ip_tables 14656
10
[ipt_multiport ipt_REDIRECT ipt_limit ipt_TCPMSS ipt_state
ipt_MASQUERADE iptable_nat iptable_filter]
bridge 29456
1
tiatm 113704
1
#
3-4. Le package BusyBox▲
Qu'est ce que BusyBox ?
BusyBox est un paquetage logiciel qui combine l'essentel des utilitaires classiques des systèmes UNIX, de façon plus légère.
Cela consiste en une implémentation partielle des principaux outils indispensables, basée sur l'épuration des options facultatives,
l'amélioration des performances et de la gestion mémoire, la diminution de la taille du package final.
BusyBox est hautement configurable, afin de cibler un maxumum de systèmes embarqué. L'intégrateur pourra alors compiler la BusyBox
en l'allégeant encore de fonctionnalités. BusyBox est développé et maintenu par Erik Andersen,
sous licence GNU GPL.De nombreux intégrateurs comme Belkin, D-Link, Linksys,
Sharp, Dell, Cyclades, Actiontec, Siemens, U.S Robotics utilisent BusyBox. Un grand nombre de distributions GNU/Linux ont basé leur système d'installation sur BusyBox:
Debian, Gentoo, RedHat, Mandrake, tomsrtbt.
Un BusyBox de base propose donc par defaut (Documentation officielle):
./
busybox
BusyBox v1.00
(
2004.10.13
-
04
:49
+
0000
) multi-
call binary
Usage
:
busybox [function] [arguments]...
or
:
[function] [arguments]...
BusyBox is a multi-
call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for
each function they wish to use, and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2,
busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-
deb, du, dumpkmap,
dumpleases, echo, egrep, env, expr, false
, fbset, fdflush, fdformat, fdisk,
fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt,
getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
install, ip, ipaddr, ipcalc, iplink, iproute, iptunnel, kill, killall,
klogd, lash, last, length, linuxrc, ln, loadfont, loadkmap, logger, login,
logname, logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir,
mkfifo, mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt,
mv, nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping,
ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate,
readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm,
rpm2cpio, run-
parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort,
start-
stop-
daemon, strings, stty, su, sulogin, swapoff, swapon, sync,
sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top,
touch, tr, traceroute, true
, tty, udhcpc, udhcpd, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs,
yes, zcat
Le problème est que D-Link a customisé BusyBox lors de sa compilation, et au final on ne dispose que de:
# cd /
bin/
#
# ls -
l
lrwxrwxrwx 1
500
500
7
Jun 18
2004
ash ->
busybox
-
rwxr-
xr-
x 1
500
500
346400
Jun 18
2004
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
cat ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
chgrp ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
chmod ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
chown ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
cp ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
date ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
dd ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
df ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
echo ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
false
->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
grep ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
hostname ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
kill ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
ln ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
login ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
ls ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
mkdir ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
mount ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
mv ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
ping ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
ps ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
pwd ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
rm ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
sh ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
sleep ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
sync ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
tar ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
touch ->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
true
->
busybox
lrwxrwxrwx 1
500
500
7
Jun 18
2004
umount ->
busybox
Comme nous le verrons plus loin, certains outils et certaines options indispensables pour bricoler ont été supprimés :-(.
3-5. Connexion Telnet▲
Avant toute chose, et dés que mon routeur D-Link est été opérationnel, je me suis amusé à le scanner (avec NMap, ou plus simplement IPScan). Tout semble normal, un port 23 pour Telnet et le port HTTP traditionnel pour l'interface d'administration.:
C
:
\Program Files\nmap-
3.81
>
nmap -
A -
T4 192.168.1.1
Starting nmap 3.81
(
http://www.insecure.org/nmap ) at 2005-03-04 23:13 Paris, Madrid
Interesting ports on g604t.domain (
192.168.1.1
):
(
The 1661
ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
23
/
tcp open
telnet?
80
/
tcp open
http?
MAC Address: 00
:0
F:3
D:8
B:54
:BF (
D-
Link)
Device type: general purpose
Running
:
Linux 2.4
.X|
2.5
.X
OS details: Linux 2.4.0
-
2.5.20
Uptime 0.546
days (
since Fri Mar 04
10
:08
:27
2005
)
L'utilitaire client Telnet est disponible sous Windows et Linux de manière assez courante.
Il existe également PuTTY, un client Telnet/SSH pour Windows.
Par defaut, et avec les firmware V1.00B02T02.EU.20040618,V1.00B02T02.UK.20041126, le login Telnet est "root" et le mot de passe est celui utilisé pour
l'interface d'administration ( "admin" si vous n'avez rien modifié ). Il semble que les versions plus récentes ont une authentification différente.
Voila, vous pouvez administrer votre serveur en ligne de commande. On aurait bien entendu préféré un accès sécurisé SSH...
Il est possible d'autoriser un accès Telnet à une machine distante externe, via l'interface web d'administration:
3-6. Utiliser TFTP▲
Qu'est ce que TFTP? TFTP est l'acronyme de "Trivial File Transfer Protocol", cousin du commun FTP. Il s'agit d'une
version allégée de ce dernier. TFTP utilise UDP (User Datagram Protocol), ne propose pas de règles de sécurité. Il est utilisé dans
beaucoup de composants réseaux, notamment pour la sauvegard des fichies de configuration, upgrade des drivers/firmwares.
TFTP est défini par la RFC 1350.
Le routeur G604T embarque donc un client TFTP, packagé dans la BusyBox:
tftp
tftp [OPTION]... HOST [PORT]
Transfers a file from/
to a tftp server using ``octet''
mode.
Options
:
-
l FILE Local FILE.
-
r FILE Remote FILE.
-
g Get file.
-
p Put file.
-
b SIZE Transfer blocks of SIZE octets.
Pour effectuer des échanges TFTP, il faut disposer d'un serveur TFTP. Sous Windows différents outils sont disponibles: TFTP-Server, SolarWinds TFTP Server. Différents serveurs sont disponibles pour systèmes GNU/Linux, que ce soit en *.RPM, *.DEB, *.TGZ ...
J'ai donc rapidement installé un serveur sous Windows, créé un dossier root "D:\tftp_share" qui servira de répertoire partagé, et
autorisé l'accès à la machine concernée, le routeur 192.168.1.1 (IP par defaut).
En guise d'exercice, nous allons nous amuser à transférer le dossier de l'application web d'administration du routeur vers le serveur TFTP. Hélas ce n'est pas si simple: on aurait aimé faire un *.TAR du répertoire /usr/www/ pour faire un transfert plus rapide et plus simple. Alors que la documentation de la BusyBox concernant la commande *.TAR autorise toutes les opérations de base:
tar
tar -
[czjZxtvO] [-
X FILE][-
f TARFILE] [-
C DIR] [FILE
(
s)] ...
Create, extract, or list files from a tar file.
Options
:
c create
x extract
t list
Archive format selection:
z Filter the archive through gzip
j Filter the archive through bzip2
Z Filter the archive through compress
File selection:
f name of TARFILE or "-"
for
stdin
O extract to stdout
exclude file to exclude
X file with
names to exclude
C change to directory DIR before operation
v verbosely list files processed
Example
:
$ zcat /
tmp/
tarball.tar.gz |
tar -
xf -
$ tar -
cf /
tmp/
tarball.tar /
usr/
local
L'utilitaire d'archivage de la BusyBox du D-Link G604T ne propose que:
Usage
:
tar -
[xtvO] [-
f TARFILE] [-
C DIR] [FILE
(
s)] ...
C'est à dire qu'il est impossible de compresser, l'option c "create" n'étant pas supportée :-/. Dommage.
La seule solution, si on ve veut pas
3-7. Le monitoring SNMP▲
D'après des documentations officielles de D-Link, le support SNMP est assuré avec une conformité MIB II. Le problème est que par defaut,
aucun port (le 161 en général pour SNMP) n'est ouvert, et aucun processus /usr/sbin/snmpd n'est démarré.
En essayant de le démarré manuellement, c'est l'echec, la session Telnet se ferme. Logique, il n'existe finalement aucun fichier de configuration
snmp-conf dans /etc/ ... .
Sur ce problème je suis donc preneur de toute information utile. J'ai d'ailleur contacté le support technique D-Link (en Allemagne) à ce sujet.
-- Mise à jour au 01/04/2005 --
Suite à mon call chez D-Link, la réponse est venue après 45 jours d'attente:
Cher client,<
br/>
Ce point d'accès n'
ai pas SNMP.<
br/>
Aucune des documentation technique ne le mentionne (
datasheet anglaise ou<
br/>
française).<
br/>
Le manuel anglais ne le mentionne pas non plus.<
br/>
Nous serions heureux de voir la documentation qui nous vous aurait induit<
br/>
en erreur.<
br/><
br/>
Cordialement,<
br/>
Service technique<
br/>
Visiblement, la documentation "DSL-G604T-man-v1" [ftp://ftp.dlink.co.uk/dsl_routers_modems/dsl-g604t/dsl-g604t_man_v1.pdf], m'a induit en erreur, à la page 18 (sur 103), on lit:
Full Network Management - The DSL-G604T incorporates SNMP (Simple Network Management
Protocol) support for web-based management and text-based network management via an RS-232 or Telnet
connection.
A vérifier si il n'y a pas un abus de language en utilisant le terme "SNMP", qui en général est utilisé via une collection de MIB propriétaire. Peut-on utiliser
le terme SNMP si il ne s'agit que de l'interface d'administration de D-Link et/ou d'un accès Telnet à l'OS embarqué ?.
C'est cette dernière question que j'ai posé au support D-Link,
sans grand espoir de réponse.
Je ne me leurre pas, le SNMP "MIB-based" traditionnel n'est pas supporté par le DSL-G604T, bien qu'un démon "snmpd" soit intégré à la busybox :-/,
for world people who asked me many questions about DSL-G604T, the D-Link support team official answer is: "SNMP protocol based on MIB is not supported" !.
-- Mise à jour au 16/05/2005 --
Ne m'étant pas satisfait de la réponse de D-Link, j'ai envoyé une nouvelle question au support:
Concernant le modem DSL-
G604T, votre réponse est qu'il ne supporte pas
SNMP.
Que signifie cette documentation (
pdf page 18
):
ftp
:
//ftp.dlink.co.uk/dsl_routers_modems/dsl-g604t/dsl-g604t_man_v1.pdf
Il supporte bien SNMP non ? Quels sont les moyens dont je dispose pour
accéder à cette interface
via MIB ?
Je vous remercie d'avance de votre réponse,
Cordialement,
Pierre Chauvin
Le support me réponds doncs aujourd'hui:
Bonjour Monsieur,
Le manuel du DSL-
G604T fait en effet mention de fonctions SNMP.
Il s'agit en réalité de fonctions de base mais sachez que le deamon SNMP
n'est pas activé à ce jour sur les produit européens.
Cordialement,
le Service Technique
Voila, je fais état de mes correspondances avec D-Link, afin de vous éviter les 2 mois d'attente pour 2 questions.
Ma prochaine question est donc: quelles sont donc ces fonctionalités de base ? Pourquoi la documentation dit-elle
que le produit les assure alors que le démon SNMP snmpd n'est pas démarré ?.
La suite au prochain épisode...
Concerning my last question to D-Link "Why the UK datasheet contains paragaph about SNMP if the product does not support it ?", the D-Link
answer is: "D-Link documentation speaks about SNMP, but this is only basic functionalities, SNMPD daemon is not started on Europeen products".
3-8. Le Filtering MAC▲
A venir prochainement...
3-9. Attribution dynamique DHCP▲
A venir prochainement...
3-10. Le port forwarding▲
A venir prochainement...
3-11. Déterminer son MTU▲
A venir prochainement...
3-12. Console Sony PSP▲
Disposant d'une console Sony PSP (Playsation Portable), je me suis amusé à tester la connection à l'internet via ce terminal mobile, via mon réseau wifi du G604T. Le test a été effectué avec le firmware d'origine de mon routeur (le V1.00B02T02.EU.20040618), et j'ai du upgrader ma PSP vers le firmware Sony PSP 2.0 (au lieu de 1.52), afin d'avoir le navigateur Web natif.
Le résultat est plutot super satisfaisant, la manipulation des paramêtres réseaux coté PSP est bien interfacé par des assistants, et j'ai
pu surfer du premier coup, juste le temps de ressaisir ma clé WEP 128 bits à l'aide du clavier virtuel ;-).
Résultat en image:
4. FAQ - Frequently Asked Questions▲
1) Do you know if it is possible to see/change the configuration data from the busybox console instead of the web interface?.
This information (configuration data) is stored/accesed from linux code launched when you are surfing around the administration web interface, so
it should be accesible from the busybox console, but I'm unable to locate the files. Perhaps it is accesed/stored from the utility
/usr/www/cgi-bin/firmwarecfg? (Jaume Saura, Espagne)
Réponse: Attention, le fichier /etc/config.xml n'est pas la fichier de configuration courant. Il s'agit d'un fichier modèle standard
de configuration (configuration par defaut). Le fichier de configuration courante est présent dans la partition 3 de la mémoire flash MTD (mtd3)
que l'on trouve ici: /dev/mtdblock.
Merci à Jaume Saura pour avoir approfondi la question ;-)
5. Quelques Liens▲
- DLink France
- Support DLink (Allemagne)
- Seattle Wireless: DLink DSL-G604T
- DSL-302T demystified par Kirillov
- Hacking the Actiontec GT701
- Linux-Mips : DSL-xxxT