Compare commits
No commits in common. "master" and "cvsimport" have entirely different histories.
|
@ -1,28 +0,0 @@
|
|||
#
|
||||
# NOTE! Don't add files that are generated in specific
|
||||
# subdirectories here. Add them in the ".gitignore" file
|
||||
# in that subdirectory instead.
|
||||
#
|
||||
# NOTE! Please use 'git ls-files -i --exclude-standard'
|
||||
# command after changing this file, to see if there are
|
||||
# any tracked files which get ignored after the change.
|
||||
#
|
||||
# Normal rules
|
||||
#
|
||||
.deps
|
||||
.libs
|
||||
*.la
|
||||
*.lo
|
||||
*.o
|
||||
*.o.*
|
||||
*.a
|
||||
*.s
|
||||
*.so
|
||||
*.so.dbg
|
||||
*.i
|
||||
*.lst
|
||||
*~
|
||||
|
||||
autom4te.cache
|
||||
ChangeLog
|
||||
config.log
|
|
@ -1,12 +1,13 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
|
@ -15,7 +16,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,8 +56,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
|
@ -110,7 +111,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +169,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +226,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -255,7 +256,7 @@ make exceptions for this. Our decision will be guided by the two goals
|
|||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
|
@ -277,9 +278,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
|
@ -291,7 +292,7 @@ convey the exclusion of warranty; and each file should have at least
|
|||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -303,16 +304,16 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
@ -335,5 +336,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
|
@ -0,0 +1,4 @@
|
|||
config.*
|
||||
*.html
|
||||
*.txt
|
||||
Makefile
|
|
@ -1,113 +1,113 @@
|
|||
From: Torsten Hentschel <Torsten.Hentschel@DInet.de> Subject: Re: Now i found something else to wonder about.. (was: Re: options files) To: isdn4linux@hub-wue.franken.de
|
||||
Date: Thu, 24 Oct 1996 22:47:17 +0200 (MET DST) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Hello Emil & Mogens!
|
||||
|
||||
> Hello Mogens,
|
||||
>
|
||||
> You wrote:
|
||||
> > isdnctrl addif ippp0
|
||||
> > isdnctrl pppbind ippp0
|
||||
> > ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.11
|
||||
---
|
||||
> > route add -net 194.192.159.0 metric 1 netmask 255.255.255.224 ippp0
|
||||
> > ipppd user XXX1 /dev/ippp0 193.89.84.10:193.89.84.11 file
|
||||
> > /etc/ppp/options.ippp0
|
||||
>
|
||||
> > isdnctrl addif ippp1
|
||||
> > isdnctrl pppbind ippp1
|
||||
> > ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.13
|
||||
--- why do you repeat the ifconfig?
|
||||
probably it should be "ippp1" here?
|
||||
> > route add -net 192.168.1.0 metric 1 netmask 255.255.255.0 ippp1
|
||||
> > ipppd user XXX2 /dev/ippp1 193.89.84.10:193.89.84.11 file
|
||||
> > /etc/ppp/options.ippp1
|
||||
>
|
||||
> Compare the two ifconfig commands, they are for the same interface.
|
||||
> And AFAIK the two interfaces need different ip-adresses.
|
||||
|
||||
With this I do not agree. It is simply possible to give two interfaces the same local ip address. You may even establish two routes on them. But only the first one found in the routing table will be used by the kernel. So the other route won't have any effect.
|
||||
|
||||
Configuring two interfaces with the same local IP address does make sense if you want to use as less IP adresses as possible (very honorable as long as IPv6 is not common practice).
|
||||
An interface IP-Adress is used by the kernel to give outgoing packets (not the forwarded packets) a sender IP address within the IP header.
|
||||
|
||||
To make the IP address 193.89.84.10 (as used in the above example) pingable I would suggest the following (changes ar marked at the right margin):
|
||||
|
||||
| ifconfig dummy0 193.89.84.10 # module has to be loaded before | route add -host 193.89.84.10 # only to have 193.89.84.10 reachable
|
||||
# all the time
|
||||
|
||||
isdnctrl addif ippp0
|
||||
| ifconfig ippp0 down # to make it exclusively bindable
|
||||
isdnctrl pppbind ippp0
|
||||
| ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.11 up | route add -host 193.89.84.11 metric 1 ippp0 | route add -net 194.192.159.0 metric 1 \ | netmask 255.255.255.224 gw 193.89.84.11
|
||||
ipppd user XXX1 /dev/ippp0 193.89.84.10:193.89.84.11 \
|
||||
file /etc/ppp/options.ippp0
|
||||
|
||||
isdnctrl addif ippp1
|
||||
| ifconfig ippp1 down # to make it exclusively bindable
|
||||
isdnctrl pppbind ippp1
|
||||
| ifconfig ippp1 193.89.84.10 p-t-p 193.89.84.13 up | route add -host 193.89.84.13 metric 1 ippp0 | route add -net 192.168.1.0 metric 1 \ | netmask 255.255.255.0 gw 193.89.84.13
|
||||
ipppd user XXX2 /dev/ippp1 193.89.84.10:193.89.84.11 \
|
||||
file /etc/ppp/options.ippp1
|
||||
|
||||
|
||||
You may even try the following to "emulate" cisco's dialer rotary group where you may put several BRIs (basic rate interfaces = ISDN S0 [gr.]) into one netmask. Therefore the example would look like (changes aren't marked any more; completely different):
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
# assuming, we are using a network of
|
||||
# 193.89.84.0/255.255.255.240
|
||||
# for a dial up server where
|
||||
# 193.89.84.1 is the IP for the server and
|
||||
# 193.89.84.2-14 are the addresses for remote interfaces.
|
||||
|
||||
ifconfig dummy0 193.89.84.1 # module has to be loaded before
|
||||
route add -host 193.89.84.1 # only to have 193.89.84.1 reachable
|
||||
# all the time
|
||||
|
||||
USER_ippp0="XXX1"
|
||||
RMTNET_ippp0=194.192.159.0
|
||||
RMTMSK_ippp0=255.255.255.224
|
||||
|
||||
USER_ippp1="XXX2"
|
||||
RMTNET_ippp1=192.168.1.0 # masquerading is great!
|
||||
RMTMSK_ippp1=255.255.255.0
|
||||
|
||||
USER_ippp2="XXX3"
|
||||
RMTNET_ippp2="" # you may leave 'em blank
|
||||
RMTNET_ippp2="" # if there is no remote net
|
||||
|
||||
[...] # fill out to your needs
|
||||
|
||||
for x in 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
do
|
||||
IFNAME="ippp$[$x-2]"
|
||||
isdnctrl addif $IFNAME
|
||||
ifconfig $IFNAME down # to make it exclusively bindable
|
||||
isdnctrl pppbind $IFNAME
|
||||
ifconfig $IFNAME 193.89.84.1 netmask 255.255.255.240 up
|
||||
route add -host 193.89.84.$x metric 1 $IFNAME
|
||||
eval NET="\${RMTNET_${IFNAME}}"
|
||||
eval MSK="\${RMTNET_${IFNAME}}"
|
||||
if [ -n "$NET" -a -n "$MSK" ]
|
||||
then
|
||||
route add -net $NET metric 1 netmask $MSK gw 193.89.84.$x
|
||||
fi
|
||||
eval USER="\${USER_${IFNAME}}"
|
||||
ipppd user "$USER" /dev/$IFNAME 193.89.84.1:193.89.84.$x \
|
||||
file /etc/ppp/options.$IFNAME
|
||||
done
|
||||
|
||||
|
||||
No warranty, it's untested.
|
||||
But please yell at me (politely) if I'm wrong.
|
||||
|
||||
|
||||
Regards,
|
||||
|
||||
Torsten
|
||||
|
||||
|
||||
--
|
||||
/\ Delta Internet GmbH / \ DI Delta Internet GmbH von-Siemens-Str. 12 /____\ Netzwerkdienst & Vertrieb 59757 Arnsberg
|
||||
ALLES NUR AUS LINUX Tel. +49 2932 916 132 Fax 191 --------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
From: Torsten Hentschel <Torsten.Hentschel@DInet.de> Subject: Re: Now i found something else to wonder about.. (was: Re: options files) To: isdn4linux@hub-wue.franken.de
|
||||
Date: Thu, 24 Oct 1996 22:47:17 +0200 (MET DST) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Hello Emil & Mogens!
|
||||
|
||||
> Hello Mogens,
|
||||
>
|
||||
> You wrote:
|
||||
> > isdnctrl addif ippp0
|
||||
> > isdnctrl pppbind ippp0
|
||||
> > ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.11
|
||||
---
|
||||
> > route add -net 194.192.159.0 metric 1 netmask 255.255.255.224 ippp0
|
||||
> > ipppd user XXX1 /dev/ippp0 193.89.84.10:193.89.84.11 file
|
||||
> > /etc/ppp/options.ippp0
|
||||
>
|
||||
> > isdnctrl addif ippp1
|
||||
> > isdnctrl pppbind ippp1
|
||||
> > ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.13
|
||||
--- why do you repeat the ifconfig?
|
||||
probably it should be "ippp1" here?
|
||||
> > route add -net 192.168.1.0 metric 1 netmask 255.255.255.0 ippp1
|
||||
> > ipppd user XXX2 /dev/ippp1 193.89.84.10:193.89.84.11 file
|
||||
> > /etc/ppp/options.ippp1
|
||||
>
|
||||
> Compare the two ifconfig commands, they are for the same interface.
|
||||
> And AFAIK the two interfaces need different ip-adresses.
|
||||
|
||||
With this I do not agree. It is simply possible to give two interfaces the same local ip address. You may even establish two routes on them. But only the first one found in the routing table will be used by the kernel. So the other route won't have any effect.
|
||||
|
||||
Configuring two interfaces with the same local IP address does make sense if you want to use as less IP adresses as possible (very honorable as long as IPv6 is not common practice).
|
||||
An interface IP-Adress is used by the kernel to give outgoing packets (not the forwarded packets) a sender IP address within the IP header.
|
||||
|
||||
To make the IP address 193.89.84.10 (as used in the above example) pingable I would suggest the following (changes ar marked at the right margin):
|
||||
|
||||
| ifconfig dummy0 193.89.84.10 # module has to be loaded before | route add -host 193.89.84.10 # only to have 193.89.84.10 reachable
|
||||
# all the time
|
||||
|
||||
isdnctrl addif ippp0
|
||||
| ifconfig ippp0 down # to make it exclusively bindable
|
||||
isdnctrl pppbind ippp0
|
||||
| ifconfig ippp0 193.89.84.10 p-t-p 193.89.84.11 up | route add -host 193.89.84.11 metric 1 ippp0 | route add -net 194.192.159.0 metric 1 \ | netmask 255.255.255.224 gw 193.89.84.11
|
||||
ipppd user XXX1 /dev/ippp0 193.89.84.10:193.89.84.11 \
|
||||
file /etc/ppp/options.ippp0
|
||||
|
||||
isdnctrl addif ippp1
|
||||
| ifconfig ippp1 down # to make it exclusively bindable
|
||||
isdnctrl pppbind ippp1
|
||||
| ifconfig ippp1 193.89.84.10 p-t-p 193.89.84.13 up | route add -host 193.89.84.13 metric 1 ippp0 | route add -net 192.168.1.0 metric 1 \ | netmask 255.255.255.0 gw 193.89.84.13
|
||||
ipppd user XXX2 /dev/ippp1 193.89.84.10:193.89.84.11 \
|
||||
file /etc/ppp/options.ippp1
|
||||
|
||||
|
||||
You may even try the following to "emulate" cisco's dialer rotary group where you may put several BRIs (basic rate interfaces = ISDN S0 [gr.]) into one netmask. Therefore the example would look like (changes aren't marked any more; completely different):
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
# assuming, we are using a network of
|
||||
# 193.89.84.0/255.255.255.240
|
||||
# for a dial up server where
|
||||
# 193.89.84.1 is the IP for the server and
|
||||
# 193.89.84.2-14 are the addresses for remote interfaces.
|
||||
|
||||
ifconfig dummy0 193.89.84.1 # module has to be loaded before
|
||||
route add -host 193.89.84.1 # only to have 193.89.84.1 reachable
|
||||
# all the time
|
||||
|
||||
USER_ippp0="XXX1"
|
||||
RMTNET_ippp0=194.192.159.0
|
||||
RMTMSK_ippp0=255.255.255.224
|
||||
|
||||
USER_ippp1="XXX2"
|
||||
RMTNET_ippp1=192.168.1.0 # masquerading is great!
|
||||
RMTMSK_ippp1=255.255.255.0
|
||||
|
||||
USER_ippp2="XXX3"
|
||||
RMTNET_ippp2="" # you may leave 'em blank
|
||||
RMTNET_ippp2="" # if there is no remote net
|
||||
|
||||
[...] # fill out to your needs
|
||||
|
||||
for x in 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
do
|
||||
IFNAME="ippp$[$x-2]"
|
||||
isdnctrl addif $IFNAME
|
||||
ifconfig $IFNAME down # to make it exclusively bindable
|
||||
isdnctrl pppbind $IFNAME
|
||||
ifconfig $IFNAME 193.89.84.1 netmask 255.255.255.240 up
|
||||
route add -host 193.89.84.$x metric 1 $IFNAME
|
||||
eval NET="\${RMTNET_${IFNAME}}"
|
||||
eval MSK="\${RMTNET_${IFNAME}}"
|
||||
if [ -n "$NET" -a -n "$MSK" ]
|
||||
then
|
||||
route add -net $NET metric 1 netmask $MSK gw 193.89.84.$x
|
||||
fi
|
||||
eval USER="\${USER_${IFNAME}}"
|
||||
ipppd user "$USER" /dev/$IFNAME 193.89.84.1:193.89.84.$x \
|
||||
file /etc/ppp/options.$IFNAME
|
||||
done
|
||||
|
||||
|
||||
No warranty, it's untested.
|
||||
But please yell at me (politely) if I'm wrong.
|
||||
|
||||
|
||||
Regards,
|
||||
|
||||
Torsten
|
||||
|
||||
|
||||
--
|
||||
/\ Delta Internet GmbH / \ DI Delta Internet GmbH von-Siemens-Str. 12 /____\ Netzwerkdienst & Vertrieb 59757 Arnsberg
|
||||
ALLES NUR AUS LINUX Tel. +49 2932 916 132 Fax 191 --------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
|
|
|
@ -1,71 +1,71 @@
|
|||
From: Torsten Hentschel <Torsten.Hentschel@DInet.de> Subject: Re: IPFWADM
|
||||
To: isdn4linux@hub-wue.franken.de
|
||||
Date: Thu, 7 Nov 1996 11:03:15 +0100 (MET) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Hallo!
|
||||
|
||||
Vielleicht kann ich helpfen ;-)
|
||||
Zuerstmal lass mich wiederholen, ob ich Deine Frage richtig verstanden habe. Mal angenommen Du hast auf den drei Netzwerk- Karten jeweils ein Class-C -Netz und hast die Dinger so etwa wie folgt konfiguriert:
|
||||
|
||||
ifconfig eth0 194.77.88.7 netmask 255.255.255.0 broadcast 194.77.88.255
|
||||
ifconfig eth1 194.77.89.4 netmask 255.255.255.0 broadcast 194.77.89.255
|
||||
ifconfig eth2 194.77.90.2 netmask 255.255.255.0 broadcast 194.77.90.255
|
||||
route add -net 194.77.88.0 eth0
|
||||
route add -net 194.77.89.0 eth1
|
||||
route add -net 194.77.90.0 eth2
|
||||
|
||||
In dieser Weise wuerde ja nun schlichtweg _alles_ von einem Interface zum anderen geroutet werden und Dein Rechner wie ein Gateway funktionieren.
|
||||
Du willst, so habe ich es verstanden, aber nur einen ganz bestimmten Rechner zwischen den Interfaces "durchlassen" waehrend Dein "Gateway" aber selber alle Rechner erreichen kann und alle Rechner Dein "Gateway" erreichen koennen.
|
||||
Nehmen wir mal an, der Rechner an eht0, der auf eth1 zugreifen koennen soll, habe die IP-Adresse 194.77.88.15.
|
||||
|
||||
Die professionelle Vorgehensweise ist dann:
|
||||
|
||||
- Ausschallten der FORWARDING-Funktion im Kernel
|
||||
durch Neukompilieren
|
||||
|
||||
- Aufsetzen der folgenden Befehle für die Firewall:
|
||||
|
||||
ipfwadm -F -p deny # Routing zwischen den Interfaces
|
||||
# erstmal generell verbieten
|
||||
|
||||
ipfwadm -I -p accept # Input auf allen Interfaces erlauben
|
||||
# betrifft Pakete, die Dein Rechner
|
||||
# auf seinen Interfaces empfaengt
|
||||
|
||||
ipfwadm -O -p accept # Output auf allen Interfaces erlauben
|
||||
# betrifft alle Pakete, die Dein Rechner
|
||||
# selber erzeugt hat und an jemanden
|
||||
# senden will
|
||||
|
||||
ipfwadm -F -a accept -S 194.77.88.15/32 -D 194.77.90.0/24
|
||||
# Zuletzt wird explizit das Forwarding
|
||||
# zwischen dem Rechner auf eth0 und
|
||||
# allen Rechnern auf eth2 erlaubt.
|
||||
|
||||
Wenn Du keinen neuen Kernel kompilieren willst, geht das auch mit eingeschaltetem Forwarding im Kernel. Das ist dann aber nicht so sicher, da man mit etwas Koepfchen die Firewall dann umgehen kann.
|
||||
|
||||
Keine Garantie. Das Zeugs habe ich nicht ausprobiert. Muesste aber so klappen. - Bitte korrigiert mich, wenn ich falsch liege.
|
||||
|
||||
Gruesse,
|
||||
|
||||
Torsten
|
||||
|
||||
> Ich habe ein rechner mit 3 netzkarten ( eth0..eth2 ). Jetzt will ich mit
|
||||
> ipfwadm einen specielen rechner vom eth0 nach eth1 routen ( wie ein gateway ).
|
||||
>
|
||||
> Kann jemand mich helpfen?
|
||||
>
|
||||
>
|
||||
> ---------------------------------------------------
|
||||
> To remove yourself from this mailing list send
|
||||
> email to majordomo@hub-wue.franken.de containing
|
||||
> "unsubscribe isdn4linux <your_email_address>" in
|
||||
> the message body [-vg]
|
||||
>
|
||||
|
||||
|
||||
--
|
||||
http://www.DInet.de/
|
||||
/\ von-Siemens-Str. 12
|
||||
/ \ Delta Internet GmbH 59757 Arnsberg
|
||||
/ \ Netzwerkdienst & Vertrieb Tel. +49 2932 91 61 32 /______\ Fax. +49 2932 91 61 91 --------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
From: Torsten Hentschel <Torsten.Hentschel@DInet.de> Subject: Re: IPFWADM
|
||||
To: isdn4linux@hub-wue.franken.de
|
||||
Date: Thu, 7 Nov 1996 11:03:15 +0100 (MET) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Hallo!
|
||||
|
||||
Vielleicht kann ich helpfen ;-)
|
||||
Zuerstmal lass mich wiederholen, ob ich Deine Frage richtig verstanden habe. Mal angenommen Du hast auf den drei Netzwerk- Karten jeweils ein Class-C -Netz und hast die Dinger so etwa wie folgt konfiguriert:
|
||||
|
||||
ifconfig eth0 194.77.88.7 netmask 255.255.255.0 broadcast 194.77.88.255
|
||||
ifconfig eth1 194.77.89.4 netmask 255.255.255.0 broadcast 194.77.89.255
|
||||
ifconfig eth2 194.77.90.2 netmask 255.255.255.0 broadcast 194.77.90.255
|
||||
route add -net 194.77.88.0 eth0
|
||||
route add -net 194.77.89.0 eth1
|
||||
route add -net 194.77.90.0 eth2
|
||||
|
||||
In dieser Weise wuerde ja nun schlichtweg _alles_ von einem Interface zum anderen geroutet werden und Dein Rechner wie ein Gateway funktionieren.
|
||||
Du willst, so habe ich es verstanden, aber nur einen ganz bestimmten Rechner zwischen den Interfaces "durchlassen" waehrend Dein "Gateway" aber selber alle Rechner erreichen kann und alle Rechner Dein "Gateway" erreichen koennen.
|
||||
Nehmen wir mal an, der Rechner an eht0, der auf eth1 zugreifen koennen soll, habe die IP-Adresse 194.77.88.15.
|
||||
|
||||
Die professionelle Vorgehensweise ist dann:
|
||||
|
||||
- Ausschallten der FORWARDING-Funktion im Kernel
|
||||
durch Neukompilieren
|
||||
|
||||
- Aufsetzen der folgenden Befehle für die Firewall:
|
||||
|
||||
ipfwadm -F -p deny # Routing zwischen den Interfaces
|
||||
# erstmal generell verbieten
|
||||
|
||||
ipfwadm -I -p accept # Input auf allen Interfaces erlauben
|
||||
# betrifft Pakete, die Dein Rechner
|
||||
# auf seinen Interfaces empfaengt
|
||||
|
||||
ipfwadm -O -p accept # Output auf allen Interfaces erlauben
|
||||
# betrifft alle Pakete, die Dein Rechner
|
||||
# selber erzeugt hat und an jemanden
|
||||
# senden will
|
||||
|
||||
ipfwadm -F -a accept -S 194.77.88.15/32 -D 194.77.90.0/24
|
||||
# Zuletzt wird explizit das Forwarding
|
||||
# zwischen dem Rechner auf eth0 und
|
||||
# allen Rechnern auf eth2 erlaubt.
|
||||
|
||||
Wenn Du keinen neuen Kernel kompilieren willst, geht das auch mit eingeschaltetem Forwarding im Kernel. Das ist dann aber nicht so sicher, da man mit etwas Koepfchen die Firewall dann umgehen kann.
|
||||
|
||||
Keine Garantie. Das Zeugs habe ich nicht ausprobiert. Muesste aber so klappen. - Bitte korrigiert mich, wenn ich falsch liege.
|
||||
|
||||
Gruesse,
|
||||
|
||||
Torsten
|
||||
|
||||
> Ich habe ein rechner mit 3 netzkarten ( eth0..eth2 ). Jetzt will ich mit
|
||||
> ipfwadm einen specielen rechner vom eth0 nach eth1 routen ( wie ein gateway ).
|
||||
>
|
||||
> Kann jemand mich helpfen?
|
||||
>
|
||||
>
|
||||
> ---------------------------------------------------
|
||||
> To remove yourself from this mailing list send
|
||||
> email to majordomo@hub-wue.franken.de containing
|
||||
> "unsubscribe isdn4linux <your_email_address>" in
|
||||
> the message body [-vg]
|
||||
>
|
||||
|
||||
|
||||
--
|
||||
http://www.DInet.de/
|
||||
/\ von-Siemens-Str. 12
|
||||
/ \ Delta Internet GmbH 59757 Arnsberg
|
||||
/ \ Netzwerkdienst & Vertrieb Tel. +49 2932 91 61 32 /______\ Fax. +49 2932 91 61 91 --------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
|
|
|
@ -1,149 +1,149 @@
|
|||
From: Philippe Le Foll <phillf@iu-vannes.fr> Subject: Re: Namesserver Config
|
||||
To: isdn4linux@hub-wue.franken.de
|
||||
Date: Wed, 30 Oct 1996 19:09:10 +0100 (MET) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
I send to some people a small set of shell and example in order to set up a local name server on a Linux box.
|
||||
|
||||
I translate in aproximative english the README, which should in any case be easier to read that the french version.
|
||||
|
||||
Some people ask be for seting this in an ftp site unfortunately my university did not open yet an anonymous ftp.
|
||||
|
||||
phillf@iu-vannes.
|
||||
|
||||
|
||||
Author: Philippe Le Foll: 30-oct-96
|
||||
e-mail: phillf@iu-vannes.fr
|
||||
|
||||
All these shells are coming from Rennes Hight Brittany University they generate from /etc/hosts the DNS database, I modify them in order to run on my linux box.
|
||||
|
||||
(c) This is public program and you use them at your own risk
|
||||
they will probably not run without some adaptation to your site.
|
||||
|
||||
All this example refer to the following configuration ------------------------------------------------------------
|
||||
|
||||
---------------
|
||||
| to Internet |
|
||||
--------------
|
||||
|
|
||||
|
|
||||
dial-out/PPP
|
||||
(dynamic IP number)
|
||||
|
|
||||
|
|
||||
+------------------------+ +----------------------------+
|
||||
| | | |
|
||||
| DNS server | | DNS slave |
|
||||
| Linux 2.x | | Linux or NT |
|
||||
| name: bisig | | name fridu |
|
||||
| | | |
|
||||
| pppd [IP] | | |
|
||||
| leafnode [news] | | Netcape [html+news+mail] |
|
||||
| harvest [html cache]| | Eudora [mail] |
|
||||
| popd [mail] | | |
|
||||
| metahtml [local http]| | |
|
||||
+------------------------+ +----------------------------+
|
||||
200.200.200.1 200.200.200.1
|
||||
| | +----------------------------------------------|---------------------------+
|
||||
Unregistered 200.200.200" network, "domain sene.bzh"
|
||||
|
||||
Note:
|
||||
|
||||
1) This configuration give to all Slaves computer the impression
|
||||
to be officially onto Internet without really be registrated.
|
||||
|
||||
2) It allows to run a cache even when INTERNET dial-up connection
|
||||
is down.
|
||||
|
||||
3) It obviously read news during the night, but this is an other story.
|
||||
|
||||
|
||||
To Do in order to install DNS
|
||||
------------------------------
|
||||
|
||||
If you are running a DNS at home like me you probably have to choose for an unregistrated domain name as me.
|
||||
Running on an official Internet network does not change anything except that you don't have to worry about your name and your net number.
|
||||
|
||||
|
||||
- If you don't want to place your DNS data base in
|
||||
/var/etc/named/DNS you will have to hack the shell
|
||||
almost everything is hard coded
|
||||
|
||||
- create the destination directory /var/etc/named/DNS
|
||||
|
||||
- Copy all etc/*header* file in /var/etc/named/DNS then
|
||||
adapt them to your site [here: network is 200.200.200].
|
||||
|
||||
- Allow named to start at boot time, for this remove comment
|
||||
before named lines in /etc/rc.d/rc.inet2
|
||||
|
||||
- copy etc/named.boot file in /etc adapt it to your site
|
||||
primary & forwarders lines syntax is:
|
||||
|
||||
PRIMARY myDomainename [here sene.bzh] headerPathName [here:sene.bzh.header.db]
|
||||
FORWARDERS IP_NUMBER for your DNS parent [usually your provider].
|
||||
|
||||
example
|
||||
primary sene.bzh /var/etc/named/DNS/sene.bzh.header.db
|
||||
forwarders 194.51.217.1 194.51.3.49
|
||||
|
||||
- Normally /etc/resolv.conf is not mandatory, nevertheless
|
||||
I place my local domain name in with the following line.
|
||||
|
||||
domain sene.bzh
|
||||
|
||||
- .cache directive refer to a standard file that you should have no
|
||||
trouble with. Syntax is:
|
||||
|
||||
cache . /var/etc/named/DNS/named.root
|
||||
|
||||
NOTE: You can retrieve a more update named.root file true FTP
|
||||
FTP.RS.INTERNIC.NET. (But for this named should work !!!)
|
||||
|
||||
- Build/update your /etc/hosts file. WARNING: all your local hosts
|
||||
should have as main name host.YourDomainName INCLUDING localhost.YourDomainName
|
||||
[see example in etc/hosts]
|
||||
|
||||
- Generate your DNS data base, this is the only thing you should have to
|
||||
do at each /etc/hosts change. In fact this job is done automatically
|
||||
with the following shell, syntax
|
||||
|
||||
make_db YourDomainName [ex: make_db sene.bzh]
|
||||
make_in-addr.arpa Net_Value.._in-addr.arpa [ex: make_in-addr.arpa 200.200.200._in-addr.arpa]
|
||||
|
||||
nota: These two commands should generate you the two following files
|
||||
YourDomainName.db & Net_Value.in-addr.arpa.db
|
||||
in /var/etc/named/DNS. Both file are include from your
|
||||
header.db files.
|
||||
|
||||
- If you have secondary computers that use your local server,
|
||||
just write the two following line in there /etc/resolv.conf
|
||||
|
||||
domain sene.bzh [where sene.bzh is your domaineName]
|
||||
nameserver 200.200.200.1 [where 200.200.200.1 is your local DNS]
|
||||
|
||||
WARNING: NameServer should be an IP number and not a symbolic name
|
||||
and this even if it is declare in your /etc/hosts.
|
||||
|
||||
- It is now time to start your name server, by just typing in:
|
||||
|
||||
named
|
||||
|
||||
- Check your name server is effectively working
|
||||
|
||||
dnsquery -h your_host_name
|
||||
|
||||
WARNING: Even if your dialup line with INTERNET is broken your
|
||||
name server should answer you. The only time it should
|
||||
timeout is when you type in a wrong name, it with case it
|
||||
should try reaching a forwarder.
|
||||
|
||||
Good Luck
|
||||
|
||||
Kenavo
|
||||
|
||||
phillf@iu-vannes.fr
|
||||
|
||||
ps: Sorry for the English, if someone want to set it up in real english
|
||||
I will be please to replace my own README with a better one.
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
From: Philippe Le Foll <phillf@iu-vannes.fr> Subject: Re: Namesserver Config
|
||||
To: isdn4linux@hub-wue.franken.de
|
||||
Date: Wed, 30 Oct 1996 19:09:10 +0100 (MET) Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
I send to some people a small set of shell and example in order to set up a local name server on a Linux box.
|
||||
|
||||
I translate in aproximative english the README, which should in any case be easier to read that the french version.
|
||||
|
||||
Some people ask be for seting this in an ftp site unfortunately my university did not open yet an anonymous ftp.
|
||||
|
||||
phillf@iu-vannes.
|
||||
|
||||
|
||||
Author: Philippe Le Foll: 30-oct-96
|
||||
e-mail: phillf@iu-vannes.fr
|
||||
|
||||
All these shells are coming from Rennes Hight Brittany University they generate from /etc/hosts the DNS database, I modify them in order to run on my linux box.
|
||||
|
||||
(c) This is public program and you use them at your own risk
|
||||
they will probably not run without some adaptation to your site.
|
||||
|
||||
All this example refer to the following configuration ------------------------------------------------------------
|
||||
|
||||
---------------
|
||||
| to Internet |
|
||||
--------------
|
||||
|
|
||||
|
|
||||
dial-out/PPP
|
||||
(dynamic IP number)
|
||||
|
|
||||
|
|
||||
+------------------------+ +----------------------------+
|
||||
| | | |
|
||||
| DNS server | | DNS slave |
|
||||
| Linux 2.x | | Linux or NT |
|
||||
| name: bisig | | name fridu |
|
||||
| | | |
|
||||
| pppd [IP] | | |
|
||||
| leafnode [news] | | Netcape [html+news+mail] |
|
||||
| harvest [html cache]| | Eudora [mail] |
|
||||
| popd [mail] | | |
|
||||
| metahtml [local http]| | |
|
||||
+------------------------+ +----------------------------+
|
||||
200.200.200.1 200.200.200.1
|
||||
| | +----------------------------------------------|---------------------------+
|
||||
Unregistered 200.200.200" network, "domain sene.bzh"
|
||||
|
||||
Note:
|
||||
|
||||
1) This configuration give to all Slaves computer the impression
|
||||
to be officially onto Internet without really be registrated.
|
||||
|
||||
2) It allows to run a cache even when INTERNET dial-up connection
|
||||
is down.
|
||||
|
||||
3) It obviously read news during the night, but this is an other story.
|
||||
|
||||
|
||||
To Do in order to install DNS
|
||||
------------------------------
|
||||
|
||||
If you are running a DNS at home like me you probably have to choose for an unregistrated domain name as me.
|
||||
Running on an official Internet network does not change anything except that you don't have to worry about your name and your net number.
|
||||
|
||||
|
||||
- If you don't want to place your DNS data base in
|
||||
/var/etc/named/DNS you will have to hack the shell
|
||||
almost everything is hard coded
|
||||
|
||||
- create the destination directory /var/etc/named/DNS
|
||||
|
||||
- Copy all etc/*header* file in /var/etc/named/DNS then
|
||||
adapt them to your site [here: network is 200.200.200].
|
||||
|
||||
- Allow named to start at boot time, for this remove comment
|
||||
before named lines in /etc/rc.d/rc.inet2
|
||||
|
||||
- copy etc/named.boot file in /etc adapt it to your site
|
||||
primary & forwarders lines syntax is:
|
||||
|
||||
PRIMARY myDomainename [here sene.bzh] headerPathName [here:sene.bzh.header.db]
|
||||
FORWARDERS IP_NUMBER for your DNS parent [usually your provider].
|
||||
|
||||
example
|
||||
primary sene.bzh /var/etc/named/DNS/sene.bzh.header.db
|
||||
forwarders 194.51.217.1 194.51.3.49
|
||||
|
||||
- Normally /etc/resolv.conf is not mandatory, nevertheless
|
||||
I place my local domain name in with the following line.
|
||||
|
||||
domain sene.bzh
|
||||
|
||||
- .cache directive refer to a standard file that you should have no
|
||||
trouble with. Syntax is:
|
||||
|
||||
cache . /var/etc/named/DNS/named.root
|
||||
|
||||
NOTE: You can retrieve a more update named.root file true FTP
|
||||
FTP.RS.INTERNIC.NET. (But for this named should work !!!)
|
||||
|
||||
- Build/update your /etc/hosts file. WARNING: all your local hosts
|
||||
should have as main name host.YourDomainName INCLUDING localhost.YourDomainName
|
||||
[see example in etc/hosts]
|
||||
|
||||
- Generate your DNS data base, this is the only thing you should have to
|
||||
do at each /etc/hosts change. In fact this job is done automatically
|
||||
with the following shell, syntax
|
||||
|
||||
make_db YourDomainName [ex: make_db sene.bzh]
|
||||
make_in-addr.arpa Net_Value.._in-addr.arpa [ex: make_in-addr.arpa 200.200.200._in-addr.arpa]
|
||||
|
||||
nota: These two commands should generate you the two following files
|
||||
YourDomainName.db & Net_Value.in-addr.arpa.db
|
||||
in /var/etc/named/DNS. Both file are include from your
|
||||
header.db files.
|
||||
|
||||
- If you have secondary computers that use your local server,
|
||||
just write the two following line in there /etc/resolv.conf
|
||||
|
||||
domain sene.bzh [where sene.bzh is your domaineName]
|
||||
nameserver 200.200.200.1 [where 200.200.200.1 is your local DNS]
|
||||
|
||||
WARNING: NameServer should be an IP number and not a symbolic name
|
||||
and this even if it is declare in your /etc/hosts.
|
||||
|
||||
- It is now time to start your name server, by just typing in:
|
||||
|
||||
named
|
||||
|
||||
- Check your name server is effectively working
|
||||
|
||||
dnsquery -h your_host_name
|
||||
|
||||
WARNING: Even if your dialup line with INTERNET is broken your
|
||||
name server should answer you. The only time it should
|
||||
timeout is when you type in a wrong name, it with case it
|
||||
should try reaching a forwarder.
|
||||
|
||||
Good Luck
|
||||
|
||||
Kenavo
|
||||
|
||||
phillf@iu-vannes.fr
|
||||
|
||||
ps: Sorry for the English, if someone want to set it up in real english
|
||||
I will be please to replace my own README with a better one.
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
|
|
|
@ -1,292 +1,292 @@
|
|||
Date: Tue, 29 Oct 1996 03:57:50 +0000 (GMT) From: Rainer May <r_may@khavi.desaster.heide.de> X-Sender: r_may@kahvi.desaster.heide.de To: isdn4linux@hub-wue.franken.de
|
||||
Subject: i4l und Masquerading
|
||||
X-Flags: MN
|
||||
Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Nachdem ich leichtsinnig genug irgendwo mal verkuendet hatte, dass ich hier ein LAN hinter einem Linux-Server mit i4l bei meinem Provider einspeise, platzte mein Postfach aus den Naehten. Bevor ich alles immer wieder aufs Neue abtippe, hab' ich das Procedere in einer Art FAQ aufgeschrieben.
|
||||
|
||||
Vielleicht interessiert sich ja wer dafuer. Wer den Text in irgendwelche Webpages aufnehmen, ausdrucken und aufs Klo haengen oder sonstwas damit machen will, meinen Segen hat er.
|
||||
|
||||
Rainer
|
||||
###########################
|
||||
|
||||
isdn4linux und IP-Masquerading im LAN
|
||||
-------------------------------------
|
||||
|
||||
Problem: "Ich habe ein lokales Netzwerk (LAN), in dem Rechner
|
||||
der verschiedensten Plattformen - Win95, Win311, NT,
|
||||
Amiga (AmiTCP) und MacIntosh (MacTCP) - ueber einen
|
||||
Linux-Router mit der Aussenwelt verbunden werden
|
||||
sollen. In der Linux-Maschine steckt eine ISDN-
|
||||
Karte. Von meinem Provider bekomme ich dynamisch
|
||||
eine IP-Adresse zugewiesen, wenn die Verbindung auf-
|
||||
gebaut wird. Nun moechte ich aber nicht nur vom
|
||||
Linux-Router direkt, sondern von jedem Rechner im
|
||||
LAN ins Internet kommen. Wie?"
|
||||
|
||||
Loesung: "Die meiste Arbeit ist auf Linux-Seite zu erledigen.
|
||||
Zunaechst einmal braucht man einen Kernel mit ein-
|
||||
gebautem IP-Forwarding und Masquerading. D.h., bei
|
||||
"make config" muessen folgende Fragen mit "Y" be-
|
||||
antwortet werden:
|
||||
|
||||
Prompt for development and/or incomplete code/drivers Y
|
||||
Enable loadable module support Y
|
||||
Networking support Y
|
||||
Network firewalls Y
|
||||
TCP/IP networking Y
|
||||
IP: forwarding/gatewaying Y
|
||||
IP: firewalling Y
|
||||
IP: masquerading Y
|
||||
PPP (point-to-point) support (wenn PPP zum Provider) Y
|
||||
SLIP (serial line) support Y
|
||||
Ethernet (10 or 100Mbit) (oder Arcnet oder ...) Y
|
||||
ISDN support [1] M
|
||||
Support synchronous PPP (wenn ipppd benutzt wird) Y
|
||||
HiSax SiemensChipSet driver support M
|
||||
(dann den HiSax fuer die ISDN Karte waehlen)
|
||||
|
||||
Anschliessend den Kernel wie ueblich mit "make dep",
|
||||
"make clean", "make zImage", "make modules" und
|
||||
"make modules_install" bauen.
|
||||
|
||||
Auf das Installieren von PPP und der ISDN-Treiber
|
||||
wird an anderer Stelle ausfuehrlich eingegangen.
|
||||
Hier geht es weiter, wenn folgende Voraussetzungen
|
||||
erfuellt sind:
|
||||
|
||||
* Das ISDN-Subsystem laeuft, d.h., von Linux aus
|
||||
kann eine Verbindung zum Provider hergestellt
|
||||
werden.
|
||||
* Das lokale Netzwerk (Ethernet usw.) laeuft auch,
|
||||
vorzugsweise unter Verwendung "freier" IP-
|
||||
Adressen (z.B. 192.168.xx.xx), und der Linux-Host
|
||||
kann von allen anderen Rechnern im LAN erreicht
|
||||
werden (z.B. per ping).
|
||||
|
||||
Nun gilt es, zweierlei zu erreichen:
|
||||
|
||||
* Zugriffe von einem beliebigen Rechner im LAN
|
||||
auf eine nicht-lokale IP-Adresse sollen den
|
||||
Linux-Router veranlassen, eine Verbindung zum
|
||||
Provider aufzubauen; und
|
||||
* Der Linux-Router soll zwar die Rechner im LAN
|
||||
mit dem Provider verbinden, diesem gegenueber
|
||||
aber verheimlichen, dass nicht der Router
|
||||
selbst Empfaenger/Absender der entsprechenden
|
||||
IP-Pakete ist.
|
||||
|
||||
Beginnen wir mit dem zweiten Punkt. Dieses "Ver-
|
||||
heimlichen" hat nichts damit zu tun, dass man
|
||||
seinen Provider hintergehen will (obwohl man auf
|
||||
diese Weise auch selbst Provider spielen und
|
||||
seine Kunden klammheimlich ueber _einen_ billigen
|
||||
"Privat-Zugang" ins Internet bringen kann), son-
|
||||
dern mit technischen Notwendigkeiten. Denn nur
|
||||
das Interface des Linux-Rechners, das die Verbin-
|
||||
dung zum Provider herstellt, bekommt von diesem
|
||||
eine IP-Adresse verpasst, die der Provider auch
|
||||
kennt. Traegt z.B. der Router im LAN die lokale
|
||||
IP-Adresse 192.168.1.1, und ein anderer Rechner
|
||||
die 192.168.1.2, dann kennt der Provider diese
|
||||
Adressen ja nicht. Er weist z.B. dem PPP-Inter-
|
||||
face des Routers die Adresse 123.234.345.99 zu -
|
||||
und nur bei Paketen aus dem Internet, die an
|
||||
diese Nummer adressiert sind, weiss er auch, an
|
||||
wen er die Pakete schicken soll. Daher muss der
|
||||
Router Pakete von anderen Rechnern im LAN "mas-
|
||||
kieren" - mit seiner eigenen, dynamisch zugewie-
|
||||
senen Adresse (und dabei natuerlich Buch darueber
|
||||
fuehren, was an wen von wem kam, um die Antwort-
|
||||
Pakete richtig zuzustellen).
|
||||
|
||||
Zum Glueck ist diese Funktion in den Linux-Kernel
|
||||
=>2.0.0 schon eingebaut (s.o.) - sie nennt sich
|
||||
"IP-Masquerading". Vereinfacht ausgedrueckt geht
|
||||
das so:
|
||||
Ein LAN-Rechner schickt ein Paket ab, das neben
|
||||
IP-Nummer und Ziel-Port des Empfaengers auch die
|
||||
"Absender-Adresse" in Form einer IP-Nummer und
|
||||
eines Antwort-Ports traegt. Der maskierende
|
||||
Router nun ersetzt die Absender-IP durch seine
|
||||
eigene und den Ruecksende-Port durch einen freien
|
||||
aus seinem Fundus. Unter dieser "freien" Port-
|
||||
nummer werden die originalen Absender-Daten ge-
|
||||
speichert. Kommt nun ein Antwort-Paket aus dem
|
||||
Internet an diesen Port, werden dessen Empfaenger-
|
||||
Adresse und -Port mit der gespeicherten Ruecksende-
|
||||
Adresse ueberschrieben und an den LAN-Rechner wei-
|
||||
tergeleitet. Paket fuer Paket.
|
||||
Leicht einsehbar ist uebrigens, dass dieses Verfahren
|
||||
nur mit Diensten funktioniert, bei denen auch eine
|
||||
Ruecksende-Adresse angegeben wird. Dazu gehoeren
|
||||
u.a. telnet, http, ftp, irc (eingeschraenkt), nicht
|
||||
aber Echo (ping).
|
||||
|
||||
Zurueck zur Praxis. Damit das Masquerading auch
|
||||
bei FTP und IRC funktioniert, werden zunaechst
|
||||
zwei Module geladen:
|
||||
|
||||
/sbin/modprobe ip_masq_ftp
|
||||
/sbin/modprobe ip_masq_irc
|
||||
|
||||
Dann werden die Forward-Rules des Kernel zum
|
||||
Masquerading gezwungen:
|
||||
|
||||
/sbin/ipfwadm -F -a m -P all -S 192.168.123.0/24 -D 0.0.0.0/0 -b [2]
|
||||
|
||||
In diesem Beispiel werden im LAN die IP-Adressen
|
||||
192.168.123.1 bis 192.168.123.254 benutzt. Legen
|
||||
wir zur Vereinfachung fest, der Linux-Router habe
|
||||
dabei die Adresse 192.168.123.1
|
||||
|
||||
Obige Zeile bewirkt, dass IP-Pakete, die von
|
||||
192.168.123.x ausgehen und an wenauchimmer gerichtet
|
||||
sind, maskiert werden. Das hat den Nachteil, dass
|
||||
auch innerhalb des LAN fleissig drauflosmaskiert
|
||||
wird, was man aber durch Einfuegen weiterer Rules
|
||||
vermeiden kann. "man ipfwadm" sei hier zur Lektuere
|
||||
empfohlen.
|
||||
|
||||
Das "Verstecken" des LAN vor dem Provider haben wir
|
||||
nun erreicht. Jetzt gilt es, bei Bedarf einen auto-
|
||||
matischen Verbindungsaufbau zu erzwingen.
|
||||
|
||||
Dafuer ist es zunaechst noetig, die anderen Rechner
|
||||
im LAN dazu zu bringen, alle fuer "Ausserhalb" be-
|
||||
stimmten IP-Pakete an den Linux-Router zu uebergeben
|
||||
und diesem die Weiterleitung zu ueberlassen.
|
||||
|
||||
Nichts leichter als das: Sowohl bei den verschiedenen
|
||||
Windows-Versionen, als auch beim AmiTCP und beim
|
||||
MacTCP gibt es in der Konfiguration den Stichwort
|
||||
"Default-Gateway" oder nur "Gateway". Hier ist die
|
||||
_lokale_ IP-Adresse des Routers einzutragen (denn
|
||||
die spaetere Adresse, die vom Provider kommt, ist
|
||||
ja erstens noch nicht bekannt und aendert sich zwei-
|
||||
tens bei jedem Anruf).
|
||||
|
||||
Letzter Schritt ist dann, das "dial-on-demand" ein-
|
||||
zurichten. In Verbindung mit isdn4linux gibt es dafuer
|
||||
zwei Moeglichkeiten:
|
||||
|
||||
* Man verwendet synchrones PPP fuer die Verbindung
|
||||
zum Provider, also den "ipppd". Dann ist nichts
|
||||
weiter zu tun als dafuer zu sorgen, dass immer
|
||||
die Default-Route des Routers auf das entsprechende
|
||||
ipppx-Interface weist. Vorsicht: Beim Verbindungs-
|
||||
abbau loescht der Kernel diese Route! Sie muss
|
||||
also z.B. in der Datei /etc/ppp/ip-down neu gesetzt
|
||||
werden.
|
||||
Das Risiko bei diesem Verfahren sind Programme auf
|
||||
den LAN-Rechnern, die mehr oder weniger regelmaessig
|
||||
Nameserver-Requests, Keepalive-Pakete oder ARP-
|
||||
Broadcastings erzeugen - dann stellt naemlich der
|
||||
Router jedesmal eine Verbindung zum Provider her.
|
||||
Die Telekom wird's danken.
|
||||
|
||||
Uebrigens kann es passieren, dass manche aus dem
|
||||
LAN initiierte Verbindungen recht lange auf Antwort
|
||||
warten. Ich weiss nicht, ob Kernel oder ipppd das
|
||||
"ausloesende" Paket verschlucken, oder die Antwort
|
||||
darauf unterschlagen; ich weiss aber, dass es
|
||||
hilft, z.B. bei Netscape wenige Sekunden nach
|
||||
Anforderung der ersten Seite auf den "roten Knopf"
|
||||
zu druecken und die Seite nochmals anzufordern.
|
||||
|
||||
Wie bereits erwaehnt: Die Konfiguration des ipppd
|
||||
wird an anderer Stelle ausfuehrlicher und kompeten-
|
||||
ter erklaert, als ich es koennte [3]
|
||||
|
||||
* Benutzt man asynchrones ppp oder gar SLIP/CSLIP
|
||||
fuer die Verbindung zum Provider, kann man das
|
||||
Programm "diald" [4] verwenden. Es bietet zudem
|
||||
den Vorteil, extrem stark konfigurierbar zu sein;
|
||||
so kann man z.B. festlegen, dass zwischen 0900
|
||||
und 1200 grundsaetzlich keine Verbindung aufgebaut
|
||||
wird, dass Nameserver-Anfragen eine Verbindung zwar
|
||||
nicht aufbauen, aber offenhalten koennen u.v.m.
|
||||
Wer sich mit diesen Konfigurationsmoeglichkeiten
|
||||
nicht herumschlagen mag, braucht das indes auch
|
||||
nicht - die Default-Konfiguration kann man ohne
|
||||
Gefahr fuer Leib und Geldboerse uebernehmen :-)
|
||||
|
||||
|
||||
So. Wenn jetzt das Masquerading eingerichtet wurde.
|
||||
Wenn der Linux-Router auf allen LAN-Rechnern als
|
||||
Gateway eingetragen wurde. Wenn ein "ping abc.edu",
|
||||
eingetippt auf der Console des Routers, eine Verbin-
|
||||
dung zum Provider aufbaut. _Dann_ sollte damit auch
|
||||
fuer alle Rechner im LAN der Weg ins Internet frei sein.
|
||||
|
||||
Troubleshooting:
|
||||
|
||||
Problem: "Alles schoen und gut. Aber wenn ich z.B. von der
|
||||
W95-Kiste aus mit Netscape eine Seite aufrufe,
|
||||
bekomme ich als Antwort nur "unknown host" Loesung: "Was ist denn auf der "Win95-Kiste" als Nameserver
|
||||
eingetragen? Sofern auf dem Router kein eigener
|
||||
NS laeuft, muss natuerlich auf allen LAN-Rechnern
|
||||
der NS des Providers eingetragen sein."
|
||||
|
||||
Problem: "Die Adressen werden jetzt aufgeloest, aber statt
|
||||
der gewuenschten Seite bekomme ich die Meldung
|
||||
"no route to host"!"
|
||||
Loesung: "Bitte pruefen:
|
||||
* Ist auf dem LAN-Rechner der Linux-Router als
|
||||
Gateway eingetragen (manche "Betriebssysteme"
|
||||
muss man komplett resetten, bevor Sie da eine
|
||||
Aenderung mitbekommen)?
|
||||
* Liegt auf dem Router die Default-Route auf dem
|
||||
"Bereitschafts-Interface" zum Provider (z.B.
|
||||
auf ippp0 bei synch. PPP, oder auf sl0 bei
|
||||
diald (auch wenn die "echte" Verbindung nachher
|
||||
per ppp0 geht - diald benutzt ein SLIP-Interface
|
||||
als "Tuerklingel") ?
|
||||
* Erzwingt der Provider die Verwendung von Proxies?
|
||||
Dann muessen die IP-Adressen der Provider-Proxies
|
||||
auch in den entsprechenden Programmen der LAN-
|
||||
Rechner eingetragen sein!
|
||||
|
||||
Problem: "Warum sind bei diesem FAQ keine ausfuehrlichen
|
||||
Beispielscripte fuer ipppd, diald usw.?" Loesung: "Weil dies eine FAQ ist und keine eierlegende
|
||||
Wollmilchsau. Ein Beispiel fuer diald haengt
|
||||
trotzdem hinten dran."
|
||||
|
||||
Problem: "Was muss ich fuer diese supertolle FAQ bezahlen?" Loesung: "Wenn es nach meiner Frau ginge, mindestens 250
|
||||
Mark - so hoch veranschlagt sie den Abend, den ich
|
||||
mit Schreiben verbrachte und der ihr daher entging.
|
||||
Da es aber nicht nach meiner Frau geht, sondern nach
|
||||
mir ;-), steht die FAQ unter GPL. Kost' also nix."
|
||||
|
||||
################################################################
|
||||
|
||||
|
||||
[1] Wer mag, kann die ISDN-Treiber natuerlich auch direkt in den
|
||||
Kernel einbauen, anstatt sie als Module zu verwenden.
|
||||
|
||||
[2] Das Programm ipfwadm gibt es per Anon-FTP als
|
||||
ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.0.tar.gz
|
||||
|
||||
[3] Bernhard Hailer hat das Ganze auf seinen www-Seiten sehr
|
||||
ausfuehrlich und verstaendlich beschrieben. Die URL ist
|
||||
http://www.chemie.uni-muenchen.de/ac/boehm/beh.html
|
||||
|
||||
################################################################
|
||||
|
||||
Beispielscripte fuer die Verwendung von isdn4linux mit diald. Die verbindung zum provider wird per X75 aufgebaut, das Protokoll ist dann PPP, ohne PAPpy/CHAPpy usw. Ein einfacher Login. Und Telefonnummer, Name sowie Passwort sind natuerlich gefaelscht :-)
|
||||
|
||||
-------------------
|
||||
# zuerst wird - gleich beim Booten - diald "scharf gemacht" #
|
||||
# /etc/rc.d/rc.diald
|
||||
/usr/sbin/diald /dev/ttyI4 -m ppp local 192.168.90.9 remote 192.168.90.1 \
|
||||
defaultroute dynamic modem crtscts lock connect "chat -v -f \
|
||||
/etc/ppp/chat.provider"
|
||||
#
|
||||
-------------------
|
||||
#
|
||||
# /etc/ppp/chat.provider
|
||||
#
|
||||
TIMEOUT 240 "" AT&E1234 OK ATD047110815 ogin: Puser sword: topsecret #
|
||||
-------------------
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
Date: Tue, 29 Oct 1996 03:57:50 +0000 (GMT) From: Rainer May <r_may@khavi.desaster.heide.de> X-Sender: r_may@kahvi.desaster.heide.de To: isdn4linux@hub-wue.franken.de
|
||||
Subject: i4l und Masquerading
|
||||
X-Flags: MN
|
||||
Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Nachdem ich leichtsinnig genug irgendwo mal verkuendet hatte, dass ich hier ein LAN hinter einem Linux-Server mit i4l bei meinem Provider einspeise, platzte mein Postfach aus den Naehten. Bevor ich alles immer wieder aufs Neue abtippe, hab' ich das Procedere in einer Art FAQ aufgeschrieben.
|
||||
|
||||
Vielleicht interessiert sich ja wer dafuer. Wer den Text in irgendwelche Webpages aufnehmen, ausdrucken und aufs Klo haengen oder sonstwas damit machen will, meinen Segen hat er.
|
||||
|
||||
Rainer
|
||||
###########################
|
||||
|
||||
isdn4linux und IP-Masquerading im LAN
|
||||
-------------------------------------
|
||||
|
||||
Problem: "Ich habe ein lokales Netzwerk (LAN), in dem Rechner
|
||||
der verschiedensten Plattformen - Win95, Win311, NT,
|
||||
Amiga (AmiTCP) und MacIntosh (MacTCP) - ueber einen
|
||||
Linux-Router mit der Aussenwelt verbunden werden
|
||||
sollen. In der Linux-Maschine steckt eine ISDN-
|
||||
Karte. Von meinem Provider bekomme ich dynamisch
|
||||
eine IP-Adresse zugewiesen, wenn die Verbindung auf-
|
||||
gebaut wird. Nun moechte ich aber nicht nur vom
|
||||
Linux-Router direkt, sondern von jedem Rechner im
|
||||
LAN ins Internet kommen. Wie?"
|
||||
|
||||
Loesung: "Die meiste Arbeit ist auf Linux-Seite zu erledigen.
|
||||
Zunaechst einmal braucht man einen Kernel mit ein-
|
||||
gebautem IP-Forwarding und Masquerading. D.h., bei
|
||||
"make config" muessen folgende Fragen mit "Y" be-
|
||||
antwortet werden:
|
||||
|
||||
Prompt for development and/or incomplete code/drivers Y
|
||||
Enable loadable module support Y
|
||||
Networking support Y
|
||||
Network firewalls Y
|
||||
TCP/IP networking Y
|
||||
IP: forwarding/gatewaying Y
|
||||
IP: firewalling Y
|
||||
IP: masquerading Y
|
||||
PPP (point-to-point) support (wenn PPP zum Provider) Y
|
||||
SLIP (serial line) support Y
|
||||
Ethernet (10 or 100Mbit) (oder Arcnet oder ...) Y
|
||||
ISDN support [1] M
|
||||
Support synchronous PPP (wenn ipppd benutzt wird) Y
|
||||
HiSax SiemensChipSet driver support M
|
||||
(dann den HiSax fuer die ISDN Karte waehlen)
|
||||
|
||||
Anschliessend den Kernel wie ueblich mit "make dep",
|
||||
"make clean", "make zImage", "make modules" und
|
||||
"make modules_install" bauen.
|
||||
|
||||
Auf das Installieren von PPP und der ISDN-Treiber
|
||||
wird an anderer Stelle ausfuehrlich eingegangen.
|
||||
Hier geht es weiter, wenn folgende Voraussetzungen
|
||||
erfuellt sind:
|
||||
|
||||
* Das ISDN-Subsystem laeuft, d.h., von Linux aus
|
||||
kann eine Verbindung zum Provider hergestellt
|
||||
werden.
|
||||
* Das lokale Netzwerk (Ethernet usw.) laeuft auch,
|
||||
vorzugsweise unter Verwendung "freier" IP-
|
||||
Adressen (z.B. 192.168.xx.xx), und der Linux-Host
|
||||
kann von allen anderen Rechnern im LAN erreicht
|
||||
werden (z.B. per ping).
|
||||
|
||||
Nun gilt es, zweierlei zu erreichen:
|
||||
|
||||
* Zugriffe von einem beliebigen Rechner im LAN
|
||||
auf eine nicht-lokale IP-Adresse sollen den
|
||||
Linux-Router veranlassen, eine Verbindung zum
|
||||
Provider aufzubauen; und
|
||||
* Der Linux-Router soll zwar die Rechner im LAN
|
||||
mit dem Provider verbinden, diesem gegenueber
|
||||
aber verheimlichen, dass nicht der Router
|
||||
selbst Empfaenger/Absender der entsprechenden
|
||||
IP-Pakete ist.
|
||||
|
||||
Beginnen wir mit dem zweiten Punkt. Dieses "Ver-
|
||||
heimlichen" hat nichts damit zu tun, dass man
|
||||
seinen Provider hintergehen will (obwohl man auf
|
||||
diese Weise auch selbst Provider spielen und
|
||||
seine Kunden klammheimlich ueber _einen_ billigen
|
||||
"Privat-Zugang" ins Internet bringen kann), son-
|
||||
dern mit technischen Notwendigkeiten. Denn nur
|
||||
das Interface des Linux-Rechners, das die Verbin-
|
||||
dung zum Provider herstellt, bekommt von diesem
|
||||
eine IP-Adresse verpasst, die der Provider auch
|
||||
kennt. Traegt z.B. der Router im LAN die lokale
|
||||
IP-Adresse 192.168.1.1, und ein anderer Rechner
|
||||
die 192.168.1.2, dann kennt der Provider diese
|
||||
Adressen ja nicht. Er weist z.B. dem PPP-Inter-
|
||||
face des Routers die Adresse 123.234.345.99 zu -
|
||||
und nur bei Paketen aus dem Internet, die an
|
||||
diese Nummer adressiert sind, weiss er auch, an
|
||||
wen er die Pakete schicken soll. Daher muss der
|
||||
Router Pakete von anderen Rechnern im LAN "mas-
|
||||
kieren" - mit seiner eigenen, dynamisch zugewie-
|
||||
senen Adresse (und dabei natuerlich Buch darueber
|
||||
fuehren, was an wen von wem kam, um die Antwort-
|
||||
Pakete richtig zuzustellen).
|
||||
|
||||
Zum Glueck ist diese Funktion in den Linux-Kernel
|
||||
=>2.0.0 schon eingebaut (s.o.) - sie nennt sich
|
||||
"IP-Masquerading". Vereinfacht ausgedrueckt geht
|
||||
das so:
|
||||
Ein LAN-Rechner schickt ein Paket ab, das neben
|
||||
IP-Nummer und Ziel-Port des Empfaengers auch die
|
||||
"Absender-Adresse" in Form einer IP-Nummer und
|
||||
eines Antwort-Ports traegt. Der maskierende
|
||||
Router nun ersetzt die Absender-IP durch seine
|
||||
eigene und den Ruecksende-Port durch einen freien
|
||||
aus seinem Fundus. Unter dieser "freien" Port-
|
||||
nummer werden die originalen Absender-Daten ge-
|
||||
speichert. Kommt nun ein Antwort-Paket aus dem
|
||||
Internet an diesen Port, werden dessen Empfaenger-
|
||||
Adresse und -Port mit der gespeicherten Ruecksende-
|
||||
Adresse ueberschrieben und an den LAN-Rechner wei-
|
||||
tergeleitet. Paket fuer Paket.
|
||||
Leicht einsehbar ist uebrigens, dass dieses Verfahren
|
||||
nur mit Diensten funktioniert, bei denen auch eine
|
||||
Ruecksende-Adresse angegeben wird. Dazu gehoeren
|
||||
u.a. telnet, http, ftp, irc (eingeschraenkt), nicht
|
||||
aber Echo (ping).
|
||||
|
||||
Zurueck zur Praxis. Damit das Masquerading auch
|
||||
bei FTP und IRC funktioniert, werden zunaechst
|
||||
zwei Module geladen:
|
||||
|
||||
/sbin/modprobe ip_masq_ftp
|
||||
/sbin/modprobe ip_masq_irc
|
||||
|
||||
Dann werden die Forward-Rules des Kernel zum
|
||||
Masquerading gezwungen:
|
||||
|
||||
/sbin/ipfwadm -F -a m -P all -S 192.168.123.0/24 -D 0.0.0.0/0 -b [2]
|
||||
|
||||
In diesem Beispiel werden im LAN die IP-Adressen
|
||||
192.168.123.1 bis 192.168.123.254 benutzt. Legen
|
||||
wir zur Vereinfachung fest, der Linux-Router habe
|
||||
dabei die Adresse 192.168.123.1
|
||||
|
||||
Obige Zeile bewirkt, dass IP-Pakete, die von
|
||||
192.168.123.x ausgehen und an wenauchimmer gerichtet
|
||||
sind, maskiert werden. Das hat den Nachteil, dass
|
||||
auch innerhalb des LAN fleissig drauflosmaskiert
|
||||
wird, was man aber durch Einfuegen weiterer Rules
|
||||
vermeiden kann. "man ipfwadm" sei hier zur Lektuere
|
||||
empfohlen.
|
||||
|
||||
Das "Verstecken" des LAN vor dem Provider haben wir
|
||||
nun erreicht. Jetzt gilt es, bei Bedarf einen auto-
|
||||
matischen Verbindungsaufbau zu erzwingen.
|
||||
|
||||
Dafuer ist es zunaechst noetig, die anderen Rechner
|
||||
im LAN dazu zu bringen, alle fuer "Ausserhalb" be-
|
||||
stimmten IP-Pakete an den Linux-Router zu uebergeben
|
||||
und diesem die Weiterleitung zu ueberlassen.
|
||||
|
||||
Nichts leichter als das: Sowohl bei den verschiedenen
|
||||
Windows-Versionen, als auch beim AmiTCP und beim
|
||||
MacTCP gibt es in der Konfiguration den Stichwort
|
||||
"Default-Gateway" oder nur "Gateway". Hier ist die
|
||||
_lokale_ IP-Adresse des Routers einzutragen (denn
|
||||
die spaetere Adresse, die vom Provider kommt, ist
|
||||
ja erstens noch nicht bekannt und aendert sich zwei-
|
||||
tens bei jedem Anruf).
|
||||
|
||||
Letzter Schritt ist dann, das "dial-on-demand" ein-
|
||||
zurichten. In Verbindung mit isdn4linux gibt es dafuer
|
||||
zwei Moeglichkeiten:
|
||||
|
||||
* Man verwendet synchrones PPP fuer die Verbindung
|
||||
zum Provider, also den "ipppd". Dann ist nichts
|
||||
weiter zu tun als dafuer zu sorgen, dass immer
|
||||
die Default-Route des Routers auf das entsprechende
|
||||
ipppx-Interface weist. Vorsicht: Beim Verbindungs-
|
||||
abbau loescht der Kernel diese Route! Sie muss
|
||||
also z.B. in der Datei /etc/ppp/ip-down neu gesetzt
|
||||
werden.
|
||||
Das Risiko bei diesem Verfahren sind Programme auf
|
||||
den LAN-Rechnern, die mehr oder weniger regelmaessig
|
||||
Nameserver-Requests, Keepalive-Pakete oder ARP-
|
||||
Broadcastings erzeugen - dann stellt naemlich der
|
||||
Router jedesmal eine Verbindung zum Provider her.
|
||||
Die Telekom wird's danken.
|
||||
|
||||
Uebrigens kann es passieren, dass manche aus dem
|
||||
LAN initiierte Verbindungen recht lange auf Antwort
|
||||
warten. Ich weiss nicht, ob Kernel oder ipppd das
|
||||
"ausloesende" Paket verschlucken, oder die Antwort
|
||||
darauf unterschlagen; ich weiss aber, dass es
|
||||
hilft, z.B. bei Netscape wenige Sekunden nach
|
||||
Anforderung der ersten Seite auf den "roten Knopf"
|
||||
zu druecken und die Seite nochmals anzufordern.
|
||||
|
||||
Wie bereits erwaehnt: Die Konfiguration des ipppd
|
||||
wird an anderer Stelle ausfuehrlicher und kompeten-
|
||||
ter erklaert, als ich es koennte [3]
|
||||
|
||||
* Benutzt man asynchrones ppp oder gar SLIP/CSLIP
|
||||
fuer die Verbindung zum Provider, kann man das
|
||||
Programm "diald" [4] verwenden. Es bietet zudem
|
||||
den Vorteil, extrem stark konfigurierbar zu sein;
|
||||
so kann man z.B. festlegen, dass zwischen 0900
|
||||
und 1200 grundsaetzlich keine Verbindung aufgebaut
|
||||
wird, dass Nameserver-Anfragen eine Verbindung zwar
|
||||
nicht aufbauen, aber offenhalten koennen u.v.m.
|
||||
Wer sich mit diesen Konfigurationsmoeglichkeiten
|
||||
nicht herumschlagen mag, braucht das indes auch
|
||||
nicht - die Default-Konfiguration kann man ohne
|
||||
Gefahr fuer Leib und Geldboerse uebernehmen :-)
|
||||
|
||||
|
||||
So. Wenn jetzt das Masquerading eingerichtet wurde.
|
||||
Wenn der Linux-Router auf allen LAN-Rechnern als
|
||||
Gateway eingetragen wurde. Wenn ein "ping abc.edu",
|
||||
eingetippt auf der Console des Routers, eine Verbin-
|
||||
dung zum Provider aufbaut. _Dann_ sollte damit auch
|
||||
fuer alle Rechner im LAN der Weg ins Internet frei sein.
|
||||
|
||||
Troubleshooting:
|
||||
|
||||
Problem: "Alles schoen und gut. Aber wenn ich z.B. von der
|
||||
W95-Kiste aus mit Netscape eine Seite aufrufe,
|
||||
bekomme ich als Antwort nur "unknown host" Loesung: "Was ist denn auf der "Win95-Kiste" als Nameserver
|
||||
eingetragen? Sofern auf dem Router kein eigener
|
||||
NS laeuft, muss natuerlich auf allen LAN-Rechnern
|
||||
der NS des Providers eingetragen sein."
|
||||
|
||||
Problem: "Die Adressen werden jetzt aufgeloest, aber statt
|
||||
der gewuenschten Seite bekomme ich die Meldung
|
||||
"no route to host"!"
|
||||
Loesung: "Bitte pruefen:
|
||||
* Ist auf dem LAN-Rechner der Linux-Router als
|
||||
Gateway eingetragen (manche "Betriebssysteme"
|
||||
muss man komplett resetten, bevor Sie da eine
|
||||
Aenderung mitbekommen)?
|
||||
* Liegt auf dem Router die Default-Route auf dem
|
||||
"Bereitschafts-Interface" zum Provider (z.B.
|
||||
auf ippp0 bei synch. PPP, oder auf sl0 bei
|
||||
diald (auch wenn die "echte" Verbindung nachher
|
||||
per ppp0 geht - diald benutzt ein SLIP-Interface
|
||||
als "Tuerklingel") ?
|
||||
* Erzwingt der Provider die Verwendung von Proxies?
|
||||
Dann muessen die IP-Adressen der Provider-Proxies
|
||||
auch in den entsprechenden Programmen der LAN-
|
||||
Rechner eingetragen sein!
|
||||
|
||||
Problem: "Warum sind bei diesem FAQ keine ausfuehrlichen
|
||||
Beispielscripte fuer ipppd, diald usw.?" Loesung: "Weil dies eine FAQ ist und keine eierlegende
|
||||
Wollmilchsau. Ein Beispiel fuer diald haengt
|
||||
trotzdem hinten dran."
|
||||
|
||||
Problem: "Was muss ich fuer diese supertolle FAQ bezahlen?" Loesung: "Wenn es nach meiner Frau ginge, mindestens 250
|
||||
Mark - so hoch veranschlagt sie den Abend, den ich
|
||||
mit Schreiben verbrachte und der ihr daher entging.
|
||||
Da es aber nicht nach meiner Frau geht, sondern nach
|
||||
mir ;-), steht die FAQ unter GPL. Kost' also nix."
|
||||
|
||||
################################################################
|
||||
|
||||
|
||||
[1] Wer mag, kann die ISDN-Treiber natuerlich auch direkt in den
|
||||
Kernel einbauen, anstatt sie als Module zu verwenden.
|
||||
|
||||
[2] Das Programm ipfwadm gibt es per Anon-FTP als
|
||||
ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.3.0.tar.gz
|
||||
|
||||
[3] Bernhard Hailer hat das Ganze auf seinen www-Seiten sehr
|
||||
ausfuehrlich und verstaendlich beschrieben. Die URL ist
|
||||
http://www.chemie.uni-muenchen.de/ac/boehm/beh.html
|
||||
|
||||
################################################################
|
||||
|
||||
Beispielscripte fuer die Verwendung von isdn4linux mit diald. Die verbindung zum provider wird per X75 aufgebaut, das Protokoll ist dann PPP, ohne PAPpy/CHAPpy usw. Ein einfacher Login. Und Telefonnummer, Name sowie Passwort sind natuerlich gefaelscht :-)
|
||||
|
||||
-------------------
|
||||
# zuerst wird - gleich beim Booten - diald "scharf gemacht" #
|
||||
# /etc/rc.d/rc.diald
|
||||
/usr/sbin/diald /dev/ttyI4 -m ppp local 192.168.90.9 remote 192.168.90.1 \
|
||||
defaultroute dynamic modem crtscts lock connect "chat -v -f \
|
||||
/etc/ppp/chat.provider"
|
||||
#
|
||||
-------------------
|
||||
#
|
||||
# /etc/ppp/chat.provider
|
||||
#
|
||||
TIMEOUT 240 "" AT&E1234 OK ATD047110815 ogin: Puser sword: topsecret #
|
||||
-------------------
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
|
|
|
@ -1,111 +1,111 @@
|
|||
Date: Sat, 19 Oct 1996 02:21:45 +0200
|
||||
X-Sender: sw0001@aixrs1.hrz.uni-essen.de To: isdn4linux@hub-wue.franken.de
|
||||
From: Matthias Hessler <hessler@wi-inf.uni-essen.de> Subject: RE: options files
|
||||
Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
At 17:57 18.10.1996 +0200, you wrote:
|
||||
>Matthias Hessler <hessler@wi-inf.uni-essen.de> ha escrito a
|
||||
>isdn4linux@hub-wue.franken.de:
|
||||
>
|
||||
>> well, isdnctrl does not quite assign interface ipppx to /dev/ipppx by
|
||||
>> default (e.g. interface ippp3 to /dev/ippp3). I'm not entirely sure how
|
||||
>it
|
||||
>> does its assignements, but I think it takes interface ipppx and binds it
|
||||
>to
|
||||
>> the first available /dev/ipppx, starting x with 0 and counting up (e.g.
|
||||
>your
|
||||
>> interface ippp3 gets bound to /dev/ippp0 because there is an ipppd
|
||||
>already
|
||||
>> waiting there)
|
||||
>> Which leads to your problem: you want interface ippp3 _exclusively_ bound
|
||||
>to
|
||||
>> /dev/ippp3 because you want only your ipppd configured for /dev/ippp3
|
||||
>> answering all the traffic from your interface ippp3.
|
||||
>
|
||||
>Hi Matthias
|
||||
>
|
||||
>Ok; for clarifying scripts (and my concepts :) I name net interfaces
|
||||
>isdn0..isdn3, but when I try to launch ipppd, it tells me there must be at
|
||||
>least ippp0 configured (???) Does it means i have to configure interfaces
|
||||
>twice (one time for ipppX and other for isdnX)?
|
||||
|
||||
No.
|
||||
|
||||
Here is what happened: You named your net interfaces isdn0..isdn3 and did not use the pppbind option. Now isdnctrl has no clue that it should connect those interfaces to any /dev/ippp* .
|
||||
|
||||
If you name your net interfaces ippp0..ippp3, then isdnctrl _automatically_ recognizes (by the name of those interfaces) that those should be connected to the /dev/ippp* . It does it (if I'm not wrong about that default behavior) when data arrives by connecting a net interface to the first available /dev/ippp* .
|
||||
Let's say if data arrives on net interface ippp3, it tries to connect it to /dev/ippp0, if that is available. If not (already another connection going on?), it tries /dev/ippp1, and so on.
|
||||
As you have two ipppd's with different options running that is not what you want, because you can never tell in advance which data will be answered by which ipppd.
|
||||
|
||||
No matter how the name of your net interfaces is, if you use the "isdnctrl pppbind" option, you can tell isdnctrl to _always_ connect some netinterface with some /dev/ippp* . E.g.:
|
||||
isdnctrl pppbind isdn3 2
|
||||
tells isdnctrl to always put data from net interface isdn3 to /dev/ippp2.
|
||||
That is very handy, if you want to have a special ipppd lurking on /dev/ippp2 that should get all that traffic from isdn3.
|
||||
|
||||
Isdnctrl acts like a switch board.
|
||||
|
||||
Default behaviour (using net interfaces ippp0 and ippp1): =========================================================
|
||||
|
||||
Kernel---------+
|
||||
| |
|
||||
Net interface ippp0 ippp1 (isdnctrl addif ippp*)
|
||||
| |
|
||||
| |
|
||||
Isdnctrl (by default, to next available device
|
||||
=> no isdnctrl pppbind necessary)
|
||||
| |
|
||||
| |
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
Default behaviour (using net interfaces isdn0, isdn1, isdn2, isdn3): ====================================================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif ippp*)
|
||||
|
||||
isdnctrl (no connection from isdn* to any /dev/ippp*,
|
||||
because: name of net interface is not "ippp*")
|
||||
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
|
||||
Behavior using "isdnctrl pppbind" (A):
|
||||
======================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif isdn*)
|
||||
|
|
||||
| Isdnctrl +-------+ (isdnctrl pppbind isdn3 2)
|
||||
|
|
||||
| Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
Behavior using "isdnctrl pppbind" (A):
|
||||
======================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif isdn*)
|
||||
|
|
||||
| Isdnctrl +-------+ (isdnctrl pppbind isdn2 1)
|
||||
|
|
||||
|
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
I hope that's correct. Please correct me if I'm wrong...
|
||||
|
||||
Bye,
|
||||
Matthias
|
||||
|
||||
**************************************************************** Matthias Heßler Email: hessler@wi-inf.uni-essen.de Gelsenkirchener Str. 67 Tel. : 0201-8915964 45141 Essen Fax. : 0201-8915965 ****************************************************************
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
Date: Sat, 19 Oct 1996 02:21:45 +0200
|
||||
X-Sender: sw0001@aixrs1.hrz.uni-essen.de To: isdn4linux@hub-wue.franken.de
|
||||
From: Matthias Hessler <hessler@wi-inf.uni-essen.de> Subject: RE: options files
|
||||
Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
At 17:57 18.10.1996 +0200, you wrote:
|
||||
>Matthias Hessler <hessler@wi-inf.uni-essen.de> ha escrito a
|
||||
>isdn4linux@hub-wue.franken.de:
|
||||
>
|
||||
>> well, isdnctrl does not quite assign interface ipppx to /dev/ipppx by
|
||||
>> default (e.g. interface ippp3 to /dev/ippp3). I'm not entirely sure how
|
||||
>it
|
||||
>> does its assignements, but I think it takes interface ipppx and binds it
|
||||
>to
|
||||
>> the first available /dev/ipppx, starting x with 0 and counting up (e.g.
|
||||
>your
|
||||
>> interface ippp3 gets bound to /dev/ippp0 because there is an ipppd
|
||||
>already
|
||||
>> waiting there)
|
||||
>> Which leads to your problem: you want interface ippp3 _exclusively_ bound
|
||||
>to
|
||||
>> /dev/ippp3 because you want only your ipppd configured for /dev/ippp3
|
||||
>> answering all the traffic from your interface ippp3.
|
||||
>
|
||||
>Hi Matthias
|
||||
>
|
||||
>Ok; for clarifying scripts (and my concepts :) I name net interfaces
|
||||
>isdn0..isdn3, but when I try to launch ipppd, it tells me there must be at
|
||||
>least ippp0 configured (???) Does it means i have to configure interfaces
|
||||
>twice (one time for ipppX and other for isdnX)?
|
||||
|
||||
No.
|
||||
|
||||
Here is what happened: You named your net interfaces isdn0..isdn3 and did not use the pppbind option. Now isdnctrl has no clue that it should connect those interfaces to any /dev/ippp* .
|
||||
|
||||
If you name your net interfaces ippp0..ippp3, then isdnctrl _automatically_ recognizes (by the name of those interfaces) that those should be connected to the /dev/ippp* . It does it (if I'm not wrong about that default behavior) when data arrives by connecting a net interface to the first available /dev/ippp* .
|
||||
Let's say if data arrives on net interface ippp3, it tries to connect it to /dev/ippp0, if that is available. If not (already another connection going on?), it tries /dev/ippp1, and so on.
|
||||
As you have two ipppd's with different options running that is not what you want, because you can never tell in advance which data will be answered by which ipppd.
|
||||
|
||||
No matter how the name of your net interfaces is, if you use the "isdnctrl pppbind" option, you can tell isdnctrl to _always_ connect some netinterface with some /dev/ippp* . E.g.:
|
||||
isdnctrl pppbind isdn3 2
|
||||
tells isdnctrl to always put data from net interface isdn3 to /dev/ippp2.
|
||||
That is very handy, if you want to have a special ipppd lurking on /dev/ippp2 that should get all that traffic from isdn3.
|
||||
|
||||
Isdnctrl acts like a switch board.
|
||||
|
||||
Default behaviour (using net interfaces ippp0 and ippp1): =========================================================
|
||||
|
||||
Kernel---------+
|
||||
| |
|
||||
Net interface ippp0 ippp1 (isdnctrl addif ippp*)
|
||||
| |
|
||||
| |
|
||||
Isdnctrl (by default, to next available device
|
||||
=> no isdnctrl pppbind necessary)
|
||||
| |
|
||||
| |
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
Default behaviour (using net interfaces isdn0, isdn1, isdn2, isdn3): ====================================================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif ippp*)
|
||||
|
||||
isdnctrl (no connection from isdn* to any /dev/ippp*,
|
||||
because: name of net interface is not "ippp*")
|
||||
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
|
||||
Behavior using "isdnctrl pppbind" (A):
|
||||
======================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif isdn*)
|
||||
|
|
||||
| Isdnctrl +-------+ (isdnctrl pppbind isdn3 2)
|
||||
|
|
||||
| Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
Behavior using "isdnctrl pppbind" (A):
|
||||
======================================
|
||||
|
||||
Kernel------+----------+----------+
|
||||
| | | | Net interface isdn0 isdn1 isdn2 isdn3 (isdnctrl addif isdn*)
|
||||
|
|
||||
| Isdnctrl +-------+ (isdnctrl pppbind isdn2 1)
|
||||
|
|
||||
|
|
||||
Device /dev/ippp0 /dev/ippp1 /dev/ippp2 /dev/ippp3
|
||||
| | | |
|
||||
ipppd ipppd ipppd ipppd
|
||||
|
||||
|
||||
I hope that's correct. Please correct me if I'm wrong...
|
||||
|
||||
Bye,
|
||||
Matthias
|
||||
|
||||
**************************************************************** Matthias Heßler Email: hessler@wi-inf.uni-essen.de Gelsenkirchener Str. 67 Tel. : 0201-8915964 45141 Essen Fax. : 0201-8915965 ****************************************************************
|
||||
|
||||
--------------------------------------------------- To remove yourself from this mailing list send email to majordomo@hub-wue.franken.de containing "unsubscribe isdn4linux <your_email_address>" in the message body [-vg]
|
||||
|
|
|
@ -1,137 +1,137 @@
|
|||
X-Sender: dekay@xplor.ipf.de
|
||||
References: <m0vIIrY-000LHmC@scorpio.in-berlin.de> from "Gernot Zander" at Oct 29, 96 07:26:08 pm
|
||||
Date: Wed, 30 Oct 1996 19:05:55 +0200
|
||||
To: isdn4linux@hub-wue.franken.de, michael@abadonna.franken.de From: Darko Krizic <dekay@ipf.de>
|
||||
Subject: Sounds erzeugen für vgetty/vboxgetty Cc: maze@frankfurt.netsurf.de
|
||||
Sender: owner-isdn4linux@hub-wue.franken.de Reply-To: isdn4linux@hub-wue.franken.de
|
||||
|
||||
Ich möchte hier ein paar Erfahrungen mit vboxgetty zusammenzählen, insbesondere im Zusammenhang mit dem Erzeugen von Messages (Sounds)
|
||||
|
||||
Sound-Format
|
||||
------------
|
||||
Das Format ADPCM-4 generiert beim Aufzeichnen wesentlich kleinere Dateien als die Formate uLaw oder aLaw, deswegen ist dieses Format vorzuziehen.
|
||||
Vorteil von uLaw ist allerdings, daß es dem au-Format entspricht und so direkt mit cat sound.au >/dev/audio angehört werden kann, allerdings gibt es zwei Probleme:
|
||||
|
||||
- Das ist nur interessant für Leute, die auch am Linux-Rechner sitzen und dieser eine Soundkarte besitzt. Viele Leute verwenden den Linux-Rechner als "echten" Server, der weder Monitor noch Soundkarte hat.
|
||||
|
||||
- Die aufgezeichneten Samples haben einen sehr schwachen Pegel, den man theoretisch mit
|
||||
|
||||
autopvf <x.msg | pvfamp 5 | pvftoau >x_laut.msg
|
||||
|
||||
verstärken könnte, allerdings muß man sich dann sowieso mit den pvf-Tools befassen und kann dann auch gleich auf ADPCM-4 umsteigen.
|
||||
|
||||
Aufzeichen über Telefon
|
||||
-----------------------
|
||||
Wie in der i4l-FAQ beschrieben ist es ohne Probleme möglich sich selbst auf den Anrufbeantworter zu sprechen und die entsprechende Datei in das Verzeichnis /var/spool/vobx/<user>/incoming/standard.msg zu kopieren.
|
||||
Allerdings ist die Qualität bei weitem nicht ausreichend, unter anderem, weil sich am Anfang und Ende Geräusche oder Pausen befinden.
|
||||
|
||||
Selbst Dateien generieren
|
||||
-------------------------
|
||||
Ich habe einen Macintosh, der unter anderem die Möglichkeit bietet, Sound von Audio-CDs ohne Verluste per SCSI auf die Festplatte zu kopieren und nachträglich auf andere Samplegeschwindigkeit und Bitbreite zu konvertieren, z.B. "16bit, 44kHz -> 8bit, 22kHz". Desweiteren kann ich mit dem Mikrofon Sounds und am Ende alle Sounds manipulieren und mixen. Die beste Voraussetzungen für verrückte Ansagen.
|
||||
|
||||
Das Format, das der Macintosh verarbeitet ist AIFF. Dieser Standard wird auch von SGI und anderen namhaften Herstellern verwendet, allerdings konnte ich unter Linux kein Programm finden, das dieses Format versteht. Auf dem Macintosh gibt es allerdings das Programm "SoundApp", welches nach und von Suns .au konvertieren und ADPCM wenigstens abspielen kann. Anmerkung: Dummerweise nennt SoundApp das au-Format "NeXT", weil dieses Format dort verwendet wird, allerdings habe ich lange gebraucht, um herauszufinden, daß es dasselbe wie au ist.
|
||||
|
||||
Ich nehme mal an, daß unsere Windows-Freunde ähnliche Fähigkeiten haben.
|
||||
Das Windows-Hausformat nennt sich WAV. Auch dieses Format kennen die PVF-Tools nicht, aber ich denke mal, daß es unter Windows ähnliche Werkezeuge gibt, die sogar ADPCM-4 generieren können.
|
||||
|
||||
Ich weiß nicht, wie man unter Linux Sounds aufzeichnen kann und welches Format diese haben, allerdings wird es wohl Sun-AU-Format haben, so daß der weitere Text auf für Linux-Benutzer interessant ist.
|
||||
|
||||
Sounds für vboxgetty konvertieren
|
||||
---------------------------------
|
||||
Wie bereits oben beschrieben, empfehle ich den Betrieb mit ADPCM-4. Bei mgetty befindet sich die pvf-Toolsammlung, welche Soundformate konvertieren und manipulieren kann, allerdings gab es Probleme mit den Formaten, die vboxgetty generiert hatte (ADPCM-4). Gegen dieses Problem gibt es Patches, allerdings enthält die neuste Version von mgetty (0.99 Okt02 und wahrscheinlich auch ein paar ältere) bereits die Programme "zyxeltopvf" und "pvftozyxel[234]", mit welchen genau diese Formate konvertiert werden können.
|
||||
|
||||
Mein Macintosh liefert die Sounds 22254Hz. Um daraus einen entsprechenden Sound in ADPCM-4 zu generieren verwende ich folgende Kommendozeile:
|
||||
|
||||
autopvf <standard.au \
|
||||
| pvfspeed 2.73 \
|
||||
| pvfamp 0.2 \
|
||||
| pvftozyxel4 >standard.msg
|
||||
|
||||
autopvf konvertiert dan au-Sound nach pvf. pvfspeed ändert die Samplingrate auf 8000 (22554 / 8000 = 2.73), damit die Geschwindigkeit wieder stimmt.
|
||||
pvfamp 0.2 senkt den Pegel auf 20%, weil der Sound sonst total verzerrt klingt, schließlich kennt das Telefon nur Frequenzen zwischen 300 und 3000Hz. Zuletzt legt pvftozyxel4 den Sound im richtigen Format ab.
|
||||
|
||||
Dadurch, daß weder Rauschen noch Klacken zu hören sind, klingen so generierte Ansagen einfach klasse. Wer etwas mit Sound-Manipulationsprogrammen spielen kann, der kann tolle Effekte generieren, allerdings sollte man damit wegen des beschränten Frequenzbandes echt sparsam umgehen, sonst versteht der Anrufende nichts.
|
||||
|
||||
Nachbarbeiteitung von aufgezeichneten Nachrichten ------------------------------------------------- Ich möchte, daß meine Nachrichten in ein auf dem Macintosh abspielbaren Format konvertiert werden und an eine e-mail an mich attached werden sollen. Ich konvertiere den Sound nach au mit folgenden Befehlen:
|
||||
|
||||
zyxeltopvf <sound.pvf \
|
||||
| pvfamp 5
|
||||
| pvfcut 0.2 0.2 \
|
||||
| pvftoau 8000 >sound.au
|
||||
|
||||
zyxeltopvf konvertiert den aufgezeichneten Sound nach pvf und pvfamp verstärkt diesen auf das fünffache, weil der Pegel (s.ganz.o) sehr schwach ist. pvfcut schneidet 0.2 Sekunden vorne und hinten ab, weil man hinten z.B. das Auflegen des Telefons hört. Scheinbar zeichnet vboxgetty schon auf, während der Beep-Ton abgespielt wird, weil dieser ganz am Anfang zu hören ist. Die 8000 nach dem pvtoau ist sehr wichtig, weil diese sorgt, daß die Frequenz in den au-Header geschrieben wird, damit das abspielende Programm auch die richtige Rate spielt!
|
||||
|
||||
Namen des Anrufenden in der Mail
|
||||
--------------------------------
|
||||
vboxgetty kennt den Namen des Anrufenden, während es die Nachricht aufzeichnet, dummerweise wird dieser Name nicht an das Programm "-p /usr/local/vbox/new_voice" mit übergeben. Ich habe deswegen einen (very dirty) hack von vboxgetty erzeugt, welches als 4ten Parameter den Namen an new_voice übergibt, damit ist es möglich, daß das Subject der generierten Mail aussieht wie "Voice from Darko Krizic" oder zumindest "Voice from Unknown". Da bei internationalen Calls zumindest die Landeskennung übergeben wird, kann eine Nachricht aus USA ein Subject wie "Voice from USA" haben.
|
||||
|
||||
Ich bitte hiermit den Autor von vbox selbst die Änderungen zu machen.
|
||||