SHLINK
protected-by-spf
tourismus nord ostsee kanal
  tbl.gif Leistungen tbr.gif   tbl.gif Public-Service tbr.gif   tbl.gif Kunden-Service tbr.gif    
 

Konfiguration

Nameserver
Newsreader
TDSL-Zugang
WLAN-Zugang
Tips & Tricks

Datenbanken

DeNIC Datenbank
RIPE Datenbank
Umlautdomain-Tool

Sicherheitscheck

Mail-Relay-Check
Browser-Check

Webservercheck

Web Code-Validator
Web Link-Checker

Dienste

Bahn-Seiten
FTP-Server
Speed-Test
 

Haftungsausschluss

Nutzungsbedingungen

Impressum

Kontakt

usrinfocrn.gif

Beispielkonfigurationen - Tips & Tricks

Asterisk: ENUM Lookup sip iax2 msg mailto Dial Macro

;-------------------------------------------------------------------------------;
[macro-dialenum]                                                                ;
;-------------------------------------------------------------------------------;
;                                                                               ;
;       Beispiel: exten => ??,n,Macro(dialenum,04121999,+494121999)             ;
;       ARG1:     04121999    (Rufnummer wie gewaehlt)                          ;
;       ARG2:     +494121999  (Rufnummer in enum Format)                        ;
;                                                                               ;
;-------------------------------------------------------------------------------;
;
exten => s,1,Macro(setcallerid-voip)
;
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},sip,,1,e164.arpa)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enumok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},iax2,,1,e164.arpa)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enumok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},sip,,1,e164.org)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enumok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},iax2,,1,e164.org)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enumok:enumno)
;
;; Dial mit ENUM:
;
exten => s,n(enumok),NoOp(DEBUG enumok)
exten => s,n,Set(CHANNEL(language)=de) 
exten => s,n,Playback(/var/lib/asterisk/sounds/shlink/anruf_wurde_per_enum_an_einen_voip_teilnehmer_umgeleitet)
;
;; ENUM-Dial SIP e164.arpa:
;
exten => s,n(e164arpasipstart),NoOp(DEBUG arpasipstart)
exten => s,n,Set(counter=0)
exten => s,n,Set(sipcount=${ENUMLOOKUP(${ARG2},sip,c,,e164.arpa)})
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164arpasipnext:e164arpaiaxstart)
exten => s,n(e164arpasipnext),NoOp
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Dial(SIP/${ENUMLOOKUP(${ARG2},sip,,${counter},e164.arpa)})
exten => s,n,NoOp(DEBUG DIALSTATUS = ${DIALSTATUS})
exten => s,n,GotoIf($["${DIALSTATUS}" != "ANSWER"]?e164arpasipcheck)
exten => s,n,Macro(dial-result)
exten => s,n,Hangup
exten => s,n,MacroExit
exten => s,n(e164arpasipcheck),NoOp
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164arpasipnext:e164arpaiaxstart)
;
;; ENUM-Dial IAX2 e164.arpa:
;
exten => s,n(e164arpaiaxstart),NoOp(DEBUG e164arpaiaxstart)
exten => s,n,Set(counter=0)
exten => s,n,Set(sipcount=${ENUMLOOKUP(${ARG2},iax2,c,,e164.arpa)})
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164arpaiaxnext:e164orgsipstart)
exten => s,n(e164arpaiaxnext),NoOp
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Dial(IAX2/${ENUMLOOKUP(${ARG2},iax2,,${counter},e164.arpa)})
exten => s,n,NoOp(DEBUG DIALSTATUS = ${DIALSTATUS})
exten => s,n,GotoIf($["${DIALSTATUS}" != "ANSWER"]?e164arpaiaxcheck)
exten => s,n,Macro(dial-result)
exten => s,n,Hangup
exten => s,n,MacroExit
exten => s,n(e164arpaiaxcheck),NoOp
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164arpaiaxnext:e164orgsipstart)
;
;; ENUM-Dial SIP e164.org:
;
exten => s,n(e164orgsipstart),NoOp(DEBUG e164orgsipstart)
exten => s,n,Set(counter=0)
exten => s,n,Set(sipcount=${ENUMLOOKUP(${ARG2},sip,c,,e164.org)})
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164orgsipnext:e164orgiaxstart)
exten => s,n(e164orgsipnext),NoOp
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Dial(SIP/${ENUMLOOKUP(${ARG2},sip,,${counter},e164.org)})
exten => s,n,NoOp(DEBUG DIALSTATUS = ${DIALSTATUS})
exten => s,n,GotoIf($["${DIALSTATUS}" != "ANSWER"]?e164orgsipcheck)
exten => s,n,Macro(dial-result)
exten => s,n,Hangup
exten => s,n,MacroExit
exten => s,n(e164orgsipcheck),NoOp
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164orgsipnext:e164orgiaxstart)
;
;; ENUM-Dial IAX2 e164.org:
;
exten => s,n(e164orgiaxstart),NoOp(DEBUG e164orgiaxstart)
exten => s,n,Set(counter=0)
exten => s,n,Set(sipcount=${ENUMLOOKUP(${ARG2},iax2,c,,e164.org)})
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164orgiaxnext:e164orgsipstart)
exten => s,n(e164orgiaxnext),NoOp
exten => s,n,Set(counter=$[${counter}+1])
exten => s,n,Dial(IAX2/${ENUMLOOKUP(${ARG2},iax2,,${counter},e164.org)})
exten => s,n,NoOp(DEBUG DIALSTATUS = ${DIALSTATUS})
exten => s,n,GotoIf($["${DIALSTATUS}" != "ANSWER"]?e164orgiaxcheck)
exten => s,n,Macro(dial-result)
exten => s,n,Hangup
exten => s,n,MacroExit
exten => s,n(e164orgiaxcheck),NoOp
exten => s,n,GotoIf($["${counter}"<"${sipcount}"]?e164orgiaxnext:enummsgstart)
;
;; ENUM-Msg (email:mailto):
;
exten => s,n(enummsgstart),NoOp(DEBUG enummsgstart)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},msg,,1,e164.arpa)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enummsgok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},mailto,,1,e164.arpa)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enummsgok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},msg,,1,e164.org)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enummsgok)
exten => s,n,Set(enumuri=${ENUMLOOKUP(${ARG2},mailto,,1,e164.org)})
exten => s,n,GotoIf($["${enumuri}" != ""]?enummsgok:enumno)
exten => s,n(enummsgok),NoOp
exten => s,n,system(/path/to/enummailto.sh ${enumuri} ${ARG1} \"${CALLERID(num)}\")
;
;; Dial ohne ENUM:
;
exten => s,n(enumno),NoOp(DEBUG enumno)
exten => s,n,MacroExit
;
;-------------------------------------------------------------------------------;


Script enummailto.sh:


#!/bin/sh

ZEIT=`date +%d.%m.%Y\ %H:%M`

echo "From: ENUM Message 
To: ${1}
Reply-To: NoReply 
Subject: ENUM Message Anruf von <${3}> an ${2}
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline


 Sie wurden telefonisch nicht ueber Ihre hinterlegten ENUM Eintraege erreicht:

 Uhrzeit:     ${ZEIT}
 Angerufen:   ${2}
 Anrufer:     <${3}>

 Diese Benachrichtigung erfolgte entsprechend Ihres ENUM email:mailto Eintrages.
 

" | /var/qmail/bin/sendmail -t -fcallinfo@my.host.name



Linksys: WRT54GS SNMP Konfiguration (snmpd.conf mit wlan-rate)

Bei gestartetem SNMPd auf dem Linksys WRT54GS WLan-Router ist der SNMP Zugriff (lesen) per default allgemein möglich. Das möchte man natürlich nicht und sollte daher den SNMP Zugriff auf den Router auf bestimmte IP-Adressen begrenzen. Ausserdem möchte man ggf. per SNMP die Rate des Wireless Interfaces auslesen. Hierzu wird die snmpd.conf zunächst um die Konfiguration für die Zugriffsbeschränkung erweitert; ausserdem wird die snmpd.conf um den Eintrag 'exec wlrate' erweitert. Dieses benötigt ein kleines Script, welches in der NVRam Variable 'rc_startup' hinterlegt wird. Einfach die unten stehenden Befehle um das eigene IP-Netz korrigieren und dann direkt auf dem Router (ssh) so eingeben.
nvram set snmpd_conf="com2sec paranoid 192.168.9.8/29 public
group metooro v1  paranoid
group metooro v2c paranoid
group metooro usm paranoid
view all included  .1
access metooro \"\" any noauth exact all none none
informsink 192.168.9.9 public
exec wlrate /tmp/snmp.wlrate     
"

nvram set rc_startup="/bin/echo \"#!/bin/sh
/usr/sbin/wl rate | /usr/bin/cut -b 9-10
\" > /tmp/snmp.wlrate ; /bin/chmod 755 /tmp/snmp.wlrate
"

nvram commit

Linux: Debian APT Benutzung

Cache aktualisieren:    apt-get update
Pakete aktualisieren (alle):    apt-get upgrade
Paket aus Default-Distribution suchen:    apt-cache search meinprogramm
Paket aus Default-Distribution installieren:    apt-get install meinprogramm
Paket aus Testing-Distribution (testing) installieren:    apt-get install -t testing perl
Bei LANG oder MMap Problem apt-get so aufrufen:    LANG=C ; LC_ALL=C ; apt-get update

Linux: Debian APT Konfiguration

Zur Standard-Konfiguration für die Debian Lenny Distribution werden die Paketserien 'shlink' (für SHLINK DEB Pakete) hinzugefügt (nur als fiktives Beispiel):

/etc/apt/sources.list:
deb     http://ftp.freenet.de/debian/      lenny          main non-free contrib
deb-src http://ftp.freenet.de/debian/      lenny          main non-free contrib
deb     http://security.debian.org/        lenny/updates  main non-free contrib
deb-src http://security.debian.org/        lenny/updates  main non-free contrib
deb     http://ftp.shlink.de/shlink/       lenny          shlink
Sicherheitshalber sollten fuer APT einige Default-Einstellungen geändert werden. Einmal wird festgelegt, dass 'lenny' die Standard-Distribution ist. Zum anderen wird ein 'Cache-Limit' definiert. Letzteres verhindert ein MMap-Problem beim mergen von mehreren Distributionen/Paketlisten.

/etc/apt/apt.conf.d/70debconf:
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt || true";};
// Hier Hinzufügen:
APT::Default-Release "lenny";
APT::Cache-Limit 16777216;

Linux: DHCP3 Server Konfiguration

Einrichten des dhcp3 Servers mit:    apt-get install dhcp3-server
Start/Stop per /etc/init.d/dhcp3-server start | stop
Konfigurationsdatei: /etc/dhcp3/dhcpd.conf
##
## /etc/dhcp3/dhcpd.conf:
##
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;   
authoritative;
log-facility local6;
#
## Alle am dhcp3-server-rechner angeschlossenen Netze müssen
## eingetragen werden, aber nur im internen Netz dhcp machen.
## Extranet/Internet:
#
subnet 212.60.99.4 netmask 255.255.255.252 {
}
#
## Genereller Eintrag, dynamische IP-Zuweisung im Intranet:
## Intranet:
#
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.215;
  range dynamic-bootp 192.168.1.216 192.168.1.231;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.1.255;
  option routers 192.168.1.1;
  option domain-name "kunde.de";
  option domain-name-servers 212.60.1.1, 212.60.2.1;
  option interface-mtu 1500;
  option ip-forwarding false;
  option log-servers 212.60.99.99;
  option lpr-servers 192.168.1.2;
  option nntp-server 212.60.1.145;
  option ntp-servers 212.60.1.2;  
  option pop-server 192.168.1.2;
  option smtp-server 192.168.1.2;
  option tftp-server-name 192.168.1.2;
  ## option wpad-url code 252 = text;   
  ## option wpad-url "http://www.shlink.de/proxy.pac\000";
}
#
## Feste IP-Adresszuweisung für einen Rechner:
#
host fixerhost {
  hardware ethernet 00:50:DA:3B:9B:6A;
  fixed-address fixerhost.kunde.de;
}
#
## Alle Optionen per 'man dhcp-options'
##  oder (fuer cisco usw.)
## http://www.iana.org/assignments/bootp-dhcp-parameters
## 
## Die zusätzlichen DHCP-Infos (wie SMTP-Server, NTP-Server,
## NNTP-Server, usw.) werden defaultmässig i.a.R. nicht von 
## Clients übernommen. Man kann das (unter Linux) durch ent-
## sprechende Script-Anpassungen machen. Die Variablen sind 
## jeweils (Debian) new_smtp_server, new_ntp_server, usw.   
#  

Linux: Fetchmail Konfiguration

/var/qmail/bin/qmail-fetchmail:

#!/bin/sh
fetchmail -v -p POP3 -Q "kunde.de-" -u fetchmail@kunde.de mail.kunde.de
exit 0

/root/.fetchmailrc:

# so gehts mit multidrop-mailbox:
#
poll mail.kunde.de localdomains kunde.de:
               user fetchmail@kunde.de with pass geheim to * here

Linux: OpenVPN Konfiguration

/etc/openvpn/zentrale.conf:
port 1194
proto udp
dev tun
tls-server
ca /etc/openvpn/shlink-ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 192.168.48.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd
ccd-exclusive
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Danach Permissions korrekt setzen:
chmod 444 /etc/openvpn/shlink-ca.crt
chmod 400 /etc/openvpn/zentrale.key
chmod 444 /etc/openvpn/zentrale.crt
/etc/openvpn/vpnclient1.conf:
client
dev tun
proto udp
remote zentrale.shlink.com 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
tls-client
ca /etc/openvpn/shlink-ca.crt
cert /etc/openvpn/vpnclient1.crt
key /etc/openvpn/vpnclient1.key
comp-lzo
verb 3
up /etc/openvpn/zentrale.up
Danach Permissions korrekt setzen:
chmod 444 /etc/openvpn/shlink-ca.crt
chmod 400 /etc/openvpn/vpnclient1.key
chmod 444 /etc/openvpn/vpnclient1.crt
/etc/openvpn/zentrale.up:
#!/bin/bash
route add -net 192.168.0.0 netmask 255.255.255.0 tun0
Danach Permissions korrekt setzen:
chmod 700 /etc/openvpn/zentrale.up

Linux: PPPoE MTU Konfiguration

man pppoe:
       pppd pty 'pppoe [pppoe_options]' [pppd_options]

       -m MSS Causes  pppoe to clamp the TCP maximum segment size
              at the specified value.  Because of PPPoE overhead,
              the  maximum segment size for PPPoE is smaller than
              for  normal  Ethernet  encapsulation.   This  could
              cause problems for machines on a LAN behind a gate­
              way using PPPoE.  If you have a LAN behind a  gate­
              way, and the gateway connects to the Internet using
              PPPoE, you are strongly recommended  to  use  a  -m
              1412  option.  This avoids having to set the MTU on
              all the hosts on the LAN.


MTU-Size bei @shlink43.de ist derzeit 1456:

/etc/peers/MeinProvider (Auszüge):
pty "/usr/sbin/pppoe -I eth -T 300 -m 1416"
mtu 1456
mru 1456
mss 1416 # mss = mtu(1456)-40=1416


MTU-Size bei @cx-dsl ist derzeit 1492:

/etc/peers/MeinProvider (Auszüge):
pty "/usr/sbin/pppoe -I eth -T 300 -m 1452"
mtu 1492
mru 1492
mss 1452 # mss = mtu(1492)-40=1452


Das sind die Werte für T-DSL und damit funktionieren auch alle
Clients problemlos (egal welche MTU dort eingestellt ist).

Linux: Audio CDRom in MP3 wandeln

1.) Audio CD einlesen und Musikstücke als WAV-Dateien abspeichern:

mkdir /tmp/cd2mp3
cd    /tmp/cd2mp3
cdparanoia -w -B -T -d/dev/cdrom

2a.) WAV-Dateien in MP3-Dateien wandeln:

bladeenc infile.wav outfile.mp3

2b.) FLAC-Dateien in MP3-Dateien wandeln:

twolame infile.flac outfile.mp3

3.) Und abspielen:

xmms outfile.mp3

Linux: MP3 auf Audio CDRom brennen

Die einfachste Methode ist die Verwendung des Frontends 'gnomebaker'. Alternativ
kann eine Audio-CD auch mit den entsprechenden Tools direkt erstellt werden:

1.) Debian Paket cdrecord installieren mit
    apt-get install cdrecord

2.) Directory 'tempcddir' anlegen mit
    mkdir tempcddir

3.) In das Directory 'tempcddir' die MP3 Dateien kopieren
    cp *.mp3 ./tempcddir/

4.) Das Directory 'tempcddir' in ein ISO-Image schreiben
    mkisofs -r -o cdimage tempcddir/

5.) Das ISO-Image auf eine CDRom schreiben mit
    cdrecord -v -eject dev=/dev/cdrom -data cdimage


NetGear: GSM7212 Gigabit Ethernet Switch Konfiguration (Beispiel)


!
!! Beispielkonfiguration: NetGear GSM7212 Gigabit Ethernet Switch
!!
!! Konfiguriert sind 2 VLan's, mit VLan-Id 2 und Vlan-Id 3
!! Trunkport = Interface 0/1
!! VLan-Id 2 = Interface 0/2
!! VLan-Id 3 = Interface 0/3
!!
!! Konfiguration ohne Gewähr, Umsetzung auf eigene Verantwortung
!
! 
set prompt "gsm7212"
network protocol none
network parameters 192.168.1.1 255.255.255.0 192.168.1.254
no network javamode 
ip http secure-server
ip ssh
!
!
vlan database
vlan  2
vlan name 2 test2lan
vlan 3
vlan name 3 test3lan
exit
!
!
configure 
sntp client mode unicast
sntp server 82.208.50.189  
no logging buffered
logging console
logging host 192.168.1.2 514 info
logging syslog
logging cli-command
snmptrap shlinknoc 192.168.1.3
users name beispieluser
lineconfig
exit  
!
!
spanning-tree forceversion 802.1s 
snmp-server sysname "gsm7212"
snmp-server location "Test-Labor"
snmp-server contact "admin@testlabor.xyz"
snmp-server community ipaddr 192.168.1.0 public
snmp-server community ipmask 255.255.255.224 public
!
!
interface  0/1
vlan tagging 2
vlan tagging 3
vlan participation include 2
vlan participation include 3
!
interface  0/2
no spanning-tree port mode
vlan pvid 2
vlan ingressfilter
vlan participation include 2
exit 
!
interface  0/3
no spanning-tree port mode
vlan pvid 3
vlan ingressfilter
vlan participation include 3
exit 
!
interface  0/4
no spanning-tree port mode
shutdown
exit 
!
interface  0/5
no spanning-tree port mode
shutdown
exit 
!
interface  0/6
no spanning-tree port mode
shutdown
exit 
!
interface  0/7
no spanning-tree port mode
shutdown
exit 
!
interface  0/8
no spanning-tree port mode
shutdown
exit 
!
interface  0/9
no spanning-tree port mode
shutdown
exit 
!
interface  0/10
no spanning-tree port mode
shutdown
exit 
!
interface  0/11
no spanning-tree port mode
shutdown
exit 
!
interface  0/12
no spanning-tree port mode
shutdown
exit 

line.gif