Журнал лабораторных работ

Содержание

Журнал

Пятница (07/31/09)

/dev/ttyp3
17:43:56
#route add -net 192.168.54.32 255.255.255.224

17:43:56
#route add -net 192.168.54.32 255.255.255.224

17:43:56
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30
add net 192.168.54.32: gateway 255.255.255.224
17:43:56
#route add -net 192.168.54.32

17:43:56
#route add -net 192.168.54.32 255.255.255.224 192.168.54.3

17:43:56
#route add -net 192.168.54.32

17:43:56
#route add -net 192.168.54.32 netmask 255.255.255.224 192.168.54.

17:43:56
#route add -net 192.168.54.32 netmask 255.255.255.224192.168.54.3

17:43:56
#route add -net 192.168.54.32 255.255.255.224

17:43:56
#route add -net 192.168.54.32 255.255.255.224

17:43:56
#route add -net 192.168.54.32 255.255.255.224

17:43:56
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30
add net 192.168.54.32: gateway 255.255.255.224
17:44:51
#route add -net 192.168.54.32 netmask
route: bad address: netmask
17:44:51
#route add -net 192.168.54.32 netmask
route: bad address: netmask
17:45:07
#route add -net 192.168.54.32 n

17:45:07
#route add -net 192.168.54.32
route: bad address: mask
17:45:07
#route add -net 192.168.54.32 n

17:45:07
#route add -net 192.168.54.32
route: bad address: mask
17:45:13
#route add -net 192.168.54.32/27 192.168.54.30
add net 192.168.54.32: gateway 192.168.54.30
17:45:13
#route add -net 192.168.54.32/27 192.168.54.30
add net 192.168.54.32: gateway 192.168.54.30
17:45:19
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30

17:45:19
#/etc/netstart
devd already running? (pid=705).
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet 192.168.16.24 netmask 0xffffff00 broadcast 192.168.16.255
        ether 00:16:4e:00:00:04
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
add net default: gateway 192.168.16.254
Additional routing options:.
17:45:19
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30

17:45:19
#/etc/netstart
devd already running? (pid=705).
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet 192.168.16.24 netmask 0xffffff00 broadcast 192.168.16.255
        ether 00:16:4e:00:00:04
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
add net default: gateway 192.168.16.254
Additional routing options:.
17:45:43
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30

17:45:43
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       11    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1       18    re0   1197
192.168.16.254     00:04:75:75:46:b1  UHLW        2        2    re0   1198
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        2        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
17:45:43
#route add -net 192.168.54.32 255.255.255.224 192.168.54.30

17:45:43
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       11    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1       18    re0   1197
192.168.16.254     00:04:75:75:46:b1  UHLW        2        2    re0   1198
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        2        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
17:45:47
#sh /etc/rc.d/rout
route6d  routed   routing
17:45:47
#sh /etc/rc.d/routed
Usage: /etc/rc.d/routed [fast|force|one](start|stop|restart|rcvar|status|poll)
17:45:47
#sh /etc/rc.d/rout
route6d  routed   routing
17:45:47
#sh /etc/rc.d/routed
Usage: /etc/rc.d/routed [fast|force|one](start|stop|restart|rcvar|status|poll)
17:46:37
#sh /etc/rc.d/routed restart

17:46:37
#sh /etc/rc.d/routed restart

17:46:39
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       26    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1       89    re0   1143
192.168.16.254     00:04:75:75:46:b1  UHLW        2        5    re0   1191
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        2        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
17:46:39
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       26    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1       89    re0   1143
192.168.16.254     00:04:75:75:46:b1  UHLW        2        5    re0   1191
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        2        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
17:46:41
#sh /etc/rc.d/routing restart
default              192.168.16.254       done
192.168.54.32        192.168.54.30        done
add net default: gateway 192.168.16.254
Additional routing options:.
17:46:41
#sh /etc/rc.d/routing restart
default              192.168.16.254       done
192.168.54.32        192.168.54.30        done
add net default: gateway 192.168.16.254
Additional routing options:.
17:46:47
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0        6    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      122    re0   1134
192.168.16.254     00:04:75:75:46:b1  UHLW        2        6    re0   1194
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        1        0    re1
17:46:47
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0        6    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      122    re0   1134
192.168.16.254     00:04:75:75:46:b1  UHLW        2        6    re0   1194
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        1        0    re1
17:46:50
#route add -net 192.168.54.32/27 192.168.54.30
add net 192.168.54.32: gateway 192.168.54.30
17:46:50
#route add -net 192.168.54.32/27 192.168.54.30
add net 192.168.54.32: gateway 192.168.54.30
17:47:19
#route add -net 192.168.54.64/27 192.168.54.30
add net 192.168.54.64: gateway 192.168.54.30
17:47:19
#route add -net 192.168.54.64/27 192.168.54.30
add net 192.168.54.64: gateway 192.168.54.30
17:47:27
#route add -net 192.168.54.96/27 192.168.54.30
add net 192.168.54.96: gateway 192.168.54.30
17:47:27
#route add -net 192.168.54.96/27 192.168.54.30
add net 192.168.54.96: gateway 192.168.54.30
17:47:32
#route add -net 192.168.54.128/27 192.168.54.30
add net 192.168.54.128: gateway 192.168.54.30
17:47:32
#route add -net 192.168.54.128/27 192.168.54.30
add net 192.168.54.128: gateway 192.168.54.30
17:47:38
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       26    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      219    re0   1079
192.168.16.254     00:04:75:75:46:b1  UHLW        2       10    re0   1185
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        5        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0        0    re1
17:47:38
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       26    re0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      219    re0   1079
192.168.16.254     00:04:75:75:46:b1  UHLW        2       10    re0   1185
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        5        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0        0    re1
17:47:45
#sysctl -a | grep forward
kern.smp.forward_signal_enabled: 1
kern.smp.forward_roundrobin_enabled: 1
net.inet.ip.forwarding: 1
net.inet.ip.fastforwarding: 0
net.inet6.ip6.forwarding: 0
17:47:45
#sysctl -a | grep forward
kern.smp.forward_signal_enabled: 1
kern.smp.forward_roundrobin_enabled: 1
net.inet.ip.forwarding: 1
net.inet.ip.fastforwarding: 0
net.inet6.ip6.forwarding: 0
17:48:02
#vim /etc/sysctl.conf
17:48:02
#vim /etc/sysctl.conf
17:48:19
#net.inet.ip.fo

17:48:19
#net.inet.ip.fo

/dev/ttyp5
17:50:52
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       50    re0
127.0.0.1          127.0.0.1          UH          0       24    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      316    re0    886
192.168.16.204     00:16:35:7d:81:ee  UHLW        1      881    re0   1056
192.168.16.254     00:04:75:75:46:b1  UHLW        2       22    re0   1174
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        5        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0        0    re1
17:50:52
#netstat -rn -f inet
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       50    re0
127.0.0.1          127.0.0.1          UH          0       24    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1      316    re0    886
192.168.16.204     00:16:35:7d:81:ee  UHLW        1      881    re0   1056
192.168.16.254     00:04:75:75:46:b1  UHLW        2       22    re0   1174
192.168.54/27      link#2             UC          0        0    re1
192.168.54.30      link#2             UHLW        5        0    re1
192.168.54.32/27   192.168.54.30      UGS         0        0    re1
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0        0    re1
прошло 14 минут
18:04:56
#traceroute -n
Version 1.4a12+FreeBSD
Usage: traceroute [-dDeFInrSvx] [-f first_ttl] [-g gateway] [-i iface]
        [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
        [-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
18:04:56
#traceroute -n
Version 1.4a12+FreeBSD
Usage: traceroute [-dDeFInrSvx] [-f first_ttl] [-g gateway] [-i iface]
        [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
        [-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
18:04:56
#traceroute -n
Version 1.4a12+FreeBSD
Usage: traceroute [-dDeFInrSvx] [-f first_ttl] [-g gateway] [-i iface]
        [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
        [-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
18:04:56
#traceroute -n
Version 1.4a12+FreeBSD
Usage: traceroute [-dDeFInrSvx] [-f first_ttl] [-g gateway] [-i iface]
        [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
        [-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
/dev/ttyp6
18:14:00
#grep route /etc/defaults/rc.conf
removable_route_flush="NO" # Flush routes when removing an interface
#gif_interfaces="gif0 gif1"     # Examples typically for a router.
#gifconfig_gif0="10.1.1.1 10.1.2.1"     # Examples typically for a router.
#gifconfig_gif1="10.1.1.2 10.1.2.2"     # Examples typically for a router.
defaultrouter="NO"              # Set to default gateway (or NO).
static_routes=""                # Set to static route list (or leave empty).
natm_static_routes=""           # Set to static route list for NATM (or leave empty).
router_enable="NO"              # Set to YES to enable a routing daemon.
router="/sbin/routed"           # Name of routing daemon to use if enabled.
router_flags="-q"               # Flags for routing daemon.
...
#ipv6_router_flags="-q"         # If you want to run a routing daemon on an end
#ipv6_network_interfaces="ed0 ep0"      # Examples for router
rtsol_flags=""                  # Flags to IPv6 router solicitation.
rtadvd_enable="NO"              # Set to YES to enable an IPv6 router
                                # this router becomes a possible candidate
                                # IPv6 default router for local subnets.
mroute6d_enable="NO"            # Do IPv6 multicast routing.
mroute6d_program="/usr/local/sbin/pim6dd"       # Name of IPv6 multicast
mroute6d_flags=""               # Flags to IPv6 multicast routing daemon.
jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail
18:14:00
#grep route /etc/defaults/rc.conf
removable_route_flush="NO" # Flush routes when removing an interface
#gif_interfaces="gif0 gif1"     # Examples typically for a router.
#gifconfig_gif0="10.1.1.1 10.1.2.1"     # Examples typically for a router.
#gifconfig_gif1="10.1.1.2 10.1.2.2"     # Examples typically for a router.
defaultrouter="NO"              # Set to default gateway (or NO).
static_routes=""                # Set to static route list (or leave empty).
natm_static_routes=""           # Set to static route list for NATM (or leave empty).
router_enable="NO"              # Set to YES to enable a routing daemon.
router="/sbin/routed"           # Name of routing daemon to use if enabled.
router_flags="-q"               # Flags for routing daemon.
...
#ipv6_router_flags="-q"         # If you want to run a routing daemon on an end
#ipv6_network_interfaces="ed0 ep0"      # Examples for router
rtsol_flags=""                  # Flags to IPv6 router solicitation.
rtadvd_enable="NO"              # Set to YES to enable an IPv6 router
                                # this router becomes a possible candidate
                                # IPv6 default router for local subnets.
mroute6d_enable="NO"            # Do IPv6 multicast routing.
mroute6d_program="/usr/local/sbin/pim6dd"       # Name of IPv6 multicast
mroute6d_flags=""               # Flags to IPv6 multicast routing daemon.
jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail
18:14:12
#grep route /etc/defaults/rc.conf | less
18:14:12
#grep route /etc/defaults/rc.conf | less
18:14:28
#grep route /etc/defaults/rc.conf | cat -n | less
18:14:28
#grep route /etc/defaults/rc.conf | cat -n | less
18:14:39
#grep route /etc/defaults/rc.conf | less
18:14:39
#grep route /etc/defaults/rc.conf | less
18:16:15
#vim /etc/rc.conf
18:16:15
#vim /etc/rc.conf
18:16:36
#rm /etc/.rc.conf.swp

18:16:36
#rm /etc/.rc.conf.swp

18:16:44
#vim /etc/rc.conf
--- /tmp/l3-saved-3289.21068.26904	2009-07-31 19:16:46.000000000 +0300
+++ /etc/rc.conf	2009-07-31 19:20:31.000000000 +0300
@@ -11,8 +11,11 @@
 scrnmap="koi8-r2cp866"
 usbd_enable="YES"
 inetd_enable=yes
-ifconfig_re0="inet 192.168.16.250  netmask 255.255.255.0"
 defaultrouter="192.168.16.254"
-hostname="fbsdvm.unix.nt"
 ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
 hostname="fbsd4.net.nt"
+static_routes="54_32 54_64 54_96 54_128"
+route_54_32="-net 192.168.54.32/27 192.168.54.30"
+route_54_64="-net 192.168.54.64/27 192.168.54.30"
+route_54_96="-net 192.168.54.96/27 192.168.54.30"
+route_54_128="-net 192.168.54.128/27 192.168.54.30"
18:16:44
#vim /etc/rc.conf
--- /tmp/l3-saved-3289.21068.26904	2009-07-31 19:16:46.000000000 +0300
+++ /etc/rc.conf	2009-07-31 19:20:31.000000000 +0300
@@ -11,8 +11,11 @@
 scrnmap="koi8-r2cp866"
 usbd_enable="YES"
 inetd_enable=yes
-ifconfig_re0="inet 192.168.16.250  netmask 255.255.255.0"
 defaultrouter="192.168.16.254"
-hostname="fbsdvm.unix.nt"
 ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
 hostname="fbsd4.net.nt"
+static_routes="54_32 54_64 54_96 54_128"
+route_54_32="-net 192.168.54.32/27 192.168.54.30"
+route_54_64="-net 192.168.54.64/27 192.168.54.30"
+route_54_96="-net 192.168.54.96/27 192.168.54.30"
+route_54_128="-net 192.168.54.128/27 192.168.54.30"
18:20:31
#mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/root": 708 messages 691 new 708 unread
 U  1 root@fbsdvm.unix.nt   Fri Jul 24 16:20  24/938   "Cron <root@fbsdvm>    "
 U  2 root@fbsdvm.unix.nt   Fri Jul 24 16:30  24/936   "Cron <root@fbsdvm>    "
 U  3 root@fbsdvm.unix.nt   Fri Jul 24 16:40  24/936   "Cron <root@fbsdvm>    "
 U  4 root@fbsdvm.unix.nt   Fri Jul 24 16:50  24/936   "Cron <root@fbsdvm>    "
 U  5 root@fbsdvm.unix.nt   Fri Jul 24 17:00  24/936   "Cron <root@fbsdvm>    "
 U  6 root@fbsdvm.unix.nt   Fri Jul 24 17:10  24/936   "Cron <root@fbsdvm>    "
 U  7 root@fbsdvm.unix.nt   Fri Jul 24 17:20  24/936   "Cron <root@fbsdvm>    "
 U  8 root@fbsdvm.unix.nt   Fri Jul 24 17:30  24/936   "Cron <root@fbsdvm>    "
...
Subject: Cron <root@fbsdvm>    ntpdate ntp.psn.ru
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin>
X-Cron-Env: <HOME=/var/log>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
24 Jul 19:40:23 ntpdate[959]: adjust time server 194.149.67.130 offset 0.047718 sec
& q
Saved 1 message in mbox
Held 707 messages in /var/mail/root
18:20:31
#mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/root": 708 messages 691 new 708 unread
 U  1 root@fbsdvm.unix.nt   Fri Jul 24 16:20  24/938   "Cron <root@fbsdvm>    "
 U  2 root@fbsdvm.unix.nt   Fri Jul 24 16:30  24/936   "Cron <root@fbsdvm>    "
 U  3 root@fbsdvm.unix.nt   Fri Jul 24 16:40  24/936   "Cron <root@fbsdvm>    "
 U  4 root@fbsdvm.unix.nt   Fri Jul 24 16:50  24/936   "Cron <root@fbsdvm>    "
 U  5 root@fbsdvm.unix.nt   Fri Jul 24 17:00  24/936   "Cron <root@fbsdvm>    "
 U  6 root@fbsdvm.unix.nt   Fri Jul 24 17:10  24/936   "Cron <root@fbsdvm>    "
 U  7 root@fbsdvm.unix.nt   Fri Jul 24 17:20  24/936   "Cron <root@fbsdvm>    "
 U  8 root@fbsdvm.unix.nt   Fri Jul 24 17:30  24/936   "Cron <root@fbsdvm>    "
...
Subject: Cron <root@fbsdvm>    ntpdate ntp.psn.ru
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin>
X-Cron-Env: <HOME=/var/log>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
24 Jul 19:40:23 ntpdate[959]: adjust time server 194.149.67.130 offset 0.047718 sec
& q
Saved 1 message in mbox
Held 707 messages in /var/mail/root
18:20:37
#cat /etc/rc.conf
sshd_enable="yes"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
keyrate="normal"
local_startup="/usr/local/etc/rc.d"
mousechar_start="3"
moused_enable="YES"
saver="fire"
scrnmap="koi8-r2cp866"
usbd_enable="YES"
inetd_enable=yes
defaultrouter="192.168.16.254"
ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
hostname="fbsd4.net.nt"
static_routes="54_32 54_64 54_96 54_128"
route_54_32="-net 192.168.54.32/27 192.168.54.30"
route_54_64="-net 192.168.54.64/27 192.168.54.30"
route_54_96="-net 192.168.54.96/27 192.168.54.30"
route_54_128="-net 192.168.54.128/27 192.168.54.30"
18:20:37
#cat /etc/rc.conf
sshd_enable="yes"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
keyrate="normal"
local_startup="/usr/local/etc/rc.d"
mousechar_start="3"
moused_enable="YES"
saver="fire"
scrnmap="koi8-r2cp866"
usbd_enable="YES"
inetd_enable=yes
defaultrouter="192.168.16.254"
ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
hostname="fbsd4.net.nt"
static_routes="54_32 54_64 54_96 54_128"
route_54_32="-net 192.168.54.32/27 192.168.54.30"
route_54_64="-net 192.168.54.64/27 192.168.54.30"
route_54_96="-net 192.168.54.96/27 192.168.54.30"
route_54_128="-net 192.168.54.128/27 192.168.54.30"
18:20:42
#netstat -rn -f inet > /tmp/before

18:20:42
#netstat -rn -f inet > /tmp/before

18:21:00
#/etc/rc.d/routing restart
default              192.168.16.254       done
192.168.54.32        192.168.54.30        done
192.168.54.64        192.168.54.30        done
192.168.54.96        192.168.54.30        done
192.168.54.128       192.168.54.30        done
add net default: gateway 192.168.16.254
add net 192.168.54.32: gateway 192.168.54.30
add net 192.168.54.64: gateway 192.168.54.30
add net 192.168.54.96: gateway 192.168.54.30
add net 192.168.54.128: gateway 192.168.54.30
Additional routing options:.
18:21:00
#/etc/rc.d/routing restart
default              192.168.16.254       done
192.168.54.32        192.168.54.30        done
192.168.54.64        192.168.54.30        done
192.168.54.96        192.168.54.30        done
192.168.54.128       192.168.54.30        done
add net default: gateway 192.168.16.254
add net 192.168.54.32: gateway 192.168.54.30
add net 192.168.54.64: gateway 192.168.54.30
add net 192.168.54.96: gateway 192.168.54.30
add net 192.168.54.128: gateway 192.168.54.30
Additional routing options:.
18:21:13
#netstat -rn -f inet > /tmp/after

18:21:13
#netstat -rn -f inet > /tmp/after

18:21:20
#vimdiff /tmp/after /tmp/before
  192.168.16         link#1
                                        Flags    Refs      Use  Netif Expire
  default            192.168.16.254     UGS         0     1684    re0
                                        UH          0       96    lo0
  192.168.16.204     00:16:35:7d:81:ee  UC          0        0    re0
  192.168.16.7       00:16:3e:00:00:07  UHLW        1     1107    re0    745
  192.168.16.204     00:16:35:7d:81:ee  UHLW        1     5459    re0    193
  192.168.16.254     00:04:75:75:46:b1  UHLW        2       75    re0   1175
  192.168.54/27      link#2             UC          0        0    re1
"/192.168.54.30      00:16:3e:00:01:04  UHLW        5        0    re1   1189
...
  192.168.54.96/27   192.168.54.30      UGS         0        6    re1
  192.168.54.128/27  192.168.54.30      UGS         0      772    re1
  ~
  ~
  ~
  ~
  ~
  ~
  ~
õ ×ÁÓ ÅÓÔØ ÐÏÞÔÁ × /var/mail/root
18:21:20
#vimdiff /tmp/after /tmp/before
  192.168.16         link#1
                                        Flags    Refs      Use  Netif Expire
  default            192.168.16.254     UGS         0     1684    re0
                                        UH          0       96    lo0
  192.168.16.204     00:16:35:7d:81:ee  UC          0        0    re0
  192.168.16.7       00:16:3e:00:00:07  UHLW        1     1107    re0    745
  192.168.16.204     00:16:35:7d:81:ee  UHLW        1     5459    re0    193
  192.168.16.254     00:04:75:75:46:b1  UHLW        2       75    re0   1175
  192.168.54/27      link#2             UC          0        0    re1
"/192.168.54.30      00:16:3e:00:01:04  UHLW        5        0    re1   1189
...
  192.168.54.96/27   192.168.54.30      UGS         0        6    re1
  192.168.54.128/27  192.168.54.30      UGS         0      772    re1
  ~
  ~
  ~
  ~
  ~
  ~
  ~
õ ×ÁÓ ÅÓÔØ ÐÏÞÔÁ × /var/mail/root
18:21:46
#netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       48    re0
127.0.0.1          127.0.0.1          UH          0       96    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1     1235    re0    692
192.168.16.204     00:16:35:7d:81:ee  UHLW        1     5459    re0    140
192.168.16.254     00:04:75:75:46:b1  UHLW        2       79    re0   1163
192.168.54/27      link#2             UC          0        0    re1
...
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0       23    re1
Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#5                        UHL         lo0
ff01:5::/32                       fe80::1%lo0                   UC          lo0
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0
18:21:46
#netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.16.254     UGS         0       48    re0
127.0.0.1          127.0.0.1          UH          0       96    lo0
192.168.16         link#1             UC          0        0    re0
192.168.16.7       00:16:3e:00:00:07  UHLW        1     1235    re0    692
192.168.16.204     00:16:35:7d:81:ee  UHLW        1     5459    re0    140
192.168.16.254     00:04:75:75:46:b1  UHLW        2       79    re0   1163
192.168.54/27      link#2             UC          0        0    re1
...
192.168.54.64/27   192.168.54.30      UGS         0        0    re1
192.168.54.96/27   192.168.54.30      UGS         0        0    re1
192.168.54.128/27  192.168.54.30      UGS         0       23    re1
Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#5                        UHL         lo0
ff01:5::/32                       fe80::1%lo0                   UC          lo0
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0
18:21:53
#/etc/netstart restart
devd already running? (pid=705).
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet 192.168.16.24 netmask 0xffffff00 broadcast 192.168.16.255
        ether 00:16:4e:00:00:04
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
add net default: gateway 192.168.16.254
route: writing to routing socket: File exists
add net 192.168.54.32: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.64: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.96: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.128: gateway 192.168.54.30: route already in table
Additional routing options:.
18:21:53
#/etc/netstart restart
devd already running? (pid=705).
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet 192.168.16.24 netmask 0xffffff00 broadcast 192.168.16.255
        ether 00:16:4e:00:00:04
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
add net default: gateway 192.168.16.254
route: writing to routing socket: File exists
add net 192.168.54.32: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.64: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.96: gateway 192.168.54.30: route already in table
route: writing to routing socket: File exists
add net 192.168.54.128: gateway 192.168.54.30: route already in table
Additional routing options:.
18:22:05
#cat /etc/sysctl.conf
# $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#
# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
net.inet6.ip6.v6only=0
net.inet.ip.forwarding=1
18:22:05
#cat /etc/sysctl.conf
# $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#
# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
net.inet6.ip6.v6only=0
net.inet.ip.forwarding=1
/dev/ttyp3
18:30:55
#vim /etc/rc.conf
--- /tmp/l3-saved-1193.12299.32593	2009-07-31 19:30:59.000000000 +0300
+++ /etc/rc.conf	2009-07-31 19:31:48.000000000 +0300
@@ -13,6 +13,7 @@
 inetd_enable=yes
 defaultrouter="192.168.16.254"
 ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
+ifconfig_re1="inet 192.168.54.1 netmask 255.255.255.224"
 hostname="fbsd4.net.nt"
 static_routes="54_32 54_64 54_96 54_128"
 route_54_32="-net 192.168.54.32/27 192.168.54.30"
18:30:55
#vim /etc/rc.conf
--- /tmp/l3-saved-1193.12299.32593	2009-07-31 19:30:59.000000000 +0300
+++ /etc/rc.conf	2009-07-31 19:31:48.000000000 +0300
@@ -13,6 +13,7 @@
 inetd_enable=yes
 defaultrouter="192.168.16.254"
 ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
+ifconfig_re1="inet 192.168.54.1 netmask 255.255.255.224"
 hostname="fbsd4.net.nt"
 static_routes="54_32 54_64 54_96 54_128"
 route_54_32="-net 192.168.54.32/27 192.168.54.30"
прошло >2 часов
/dev/ttyp2
20:39:05
#cd /usr/ports/security/xinetd/

20:39:05
#cd /usr/ports/security/xinetd/

20:39:22
#make install
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##
checking for rpc/pmap_clnt.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
...
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o access.o access.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o addr.o addr.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o builtins.o builtins.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o child.o child.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o conf.o conf.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o confparse.o confparse.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o connection.o connection.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o env.o env.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o ident.o ident.c
^Cgmake: *** [makeprog] Interrupt: 2
20:39:22
#make install
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##
checking for rpc/pmap_clnt.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
...
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o access.o access.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o addr.o addr.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o builtins.o builtins.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o child.o child.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o conf.o conf.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o confparse.o confparse.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o connection.o connection.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o env.o env.c
cc -O2 -fno-strict-aliasing -pipe  -O2 -fno-strict-aliasing -pipe   -I../libs/include   -c -o ident.o ident.c
^Cgmake: *** [makeprog] Interrupt: 2
20:40:03
#cd /usr/ports/security/xinetd/

Файлы

  • /etc/rc.conf
  • /etc/sysctl.conf
  • /etc/rc.conf
    >
    sshd_enable="yes"
    font8x14="cp866-8x14"
    font8x16="cp866b-8x16"
    font8x8="cp866-8x8"
    keymap="ru.koi8-r"
    keyrate="normal"
    local_startup="/usr/local/etc/rc.d"
    mousechar_start="3"
    moused_enable="YES"
    saver="fire"
    scrnmap="koi8-r2cp866"
    usbd_enable="YES"
    inetd_enable=yes
    defaultrouter="192.168.16.254"
    ifconfig_re0="inet 192.168.16.24  netmask 255.255.255.0"
    hostname="fbsd4.net.nt"
    static_routes="54_32 54_64 54_96 54_128"
    route_54_32="-net 192.168.54.32/27 192.168.54.30"
    route_54_64="-net 192.168.54.64/27 192.168.54.30"
    route_54_96="-net 192.168.54.96/27 192.168.54.30"
    route_54_128="-net 192.168.54.128/27 192.168.54.30"
    
    /etc/sysctl.conf
    >
    # $FreeBSD: src/etc/sysctl.conf,v 1.8 2003/03/13 18:43:50 mux Exp $
    #
    #  This file is read when going to multi-user and its contents piped thru
    #  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
    #
    # Uncomment this to prevent users from seeing information about processes that
    # are being run under another UID.
    #security.bsd.see_other_uids=0
    net.inet6.ip6.v6only=0
    net.inet.ip.forwarding=1
    

    Статистика

    Время первой команды журнала17:43:56 2009- 7-31
    Время последней команды журнала20:40:03 2009- 7-31
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %15.84
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.80
    Количество командных строк в единицу времени, команда/мин 2.11
    Частота использования команд
    route32|===========================| 27.83%
    netstat16|=============| 13.91%
    grep10|========| 8.70%
    vim8|======| 6.96%
    sh8|======| 6.96%
    less6|=====| 5.22%
    cat6|=====| 5.22%
    traceroute4|===| 3.48%
    /etc/netstart4|===| 3.48%
    cd3|==| 2.61%
    sysctl2|=| 1.74%
    rm2|=| 1.74%
    make2|=| 1.74%
    before2|=| 1.74%
    mail2|=| 1.74%
    vimdiff2|=| 1.74%
    /etc/rc.d/routing2|=| 1.74%
    after2|=| 1.74%
    net.inet.ip.fo2|=| 1.74%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$