[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ISDN PPP



> PM> There are two possibilities what happens (depends on kernel
> PM> (2.0.35/2.0.36, version of isdnutils and configuration):
>
> 1. You need the isdnutils 3.0 package
> 2. uncomment "debug" in /etc/isdn/ipppd.ippp0
>
> You will then see more output in syslog.
>
> You can send us the relevant parts, if you can't interpret them.

So here they are:
I also send my config files as attachment

--snip--
Jan 22 22:32:44 oxygene syslogd 1.3-3#26: restart.
Jan 22 22:32:44 oxygene anacron[139]: Anacron 2.0.1 started on 1999-01-22
Jan 22 22:32:45 oxygene anacron[139]: Normal exit (0 jobs run)
Jan 22 22:32:45 oxygene kernel: isdn: Verbose-Level is 3
Jan 22 22:32:46 oxygene kernel: Appletalk 0.17 for Linux NET3.035
Jan 22 22:32:47 oxygene ipppd[172]: Found 1 device: /dev/ippp0
Jan 22 22:32:47 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:32:47 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:32:47 oxygene ipppd[177]: ipppd i2.2.10 (isdn4linux version of pppd by MH)
started
Jan 22 22:32:47 oxygene ipppd[177]: init_unit: 0
Jan 22 22:32:47 oxygene ipppd[177]: Connect[0]: /dev/ippp0, fd: 8
Jan 22 22:32:48 oxygene /usr/sbin/lpd[182]: Setuplog: open /dev/null failed -
Permission denied
Jan 22 22:32:49 oxygene xntpd[208]: xntpd 3-5.93a Mon Jun 15 23:56:10 MDT 1998 (1)
Jan 22 22:32:50 oxygene proftpd[217]: attempted bind to 0.0.0.0, port 21
Jan 22 22:32:50 oxygene proftpd[217]: bind() failed in inet_create_connection():
Address already in use
Jan 22 22:32:50 oxygene xntpd[208]: tickadj = 5, tick = 10000, tvu_maxslew = 495, est.
hz = 100
Jan 22 22:32:50 oxygene xntpd[208]: precision = 21 usec
Jan 22 22:32:50 oxygene atd[219]: Error redirecting I/O: Permission denied
Jan 22 22:32:51 oxygene /usr/sbin/cron[222]: (CRON) STARTUP (fork ok)
Jan 22 22:33:30 oxygene kernel: ippp0: dialing 1 ((remotenumber))...
Jan 22 22:33:32 oxygene kernel: isdn_net: ippp0 connected
Jan 22 22:33:32 oxygene kernel: isdn_net: chargetime of ippp0 now 8220
Jan 22 22:33:32 oxygene ipppd[177]: Local number: ((localnumber)), Remote number:
((remotenumber)), Type: outgoing
Jan 22 22:33:32 oxygene ipppd[177]: PHASE_WAIT -> PHASE_ESTABLISHED, ifunit: 0,
linkunit: 0, fd: 8
Jan 22 22:33:32 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:32 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 80047456 state: 3
Jan 22 22:33:32 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: c0887480 state: 3
Jan 22 22:33:32 oxygene ipppd[177]: sent [0][LCP ConfReq id=0x1 <auth pap> <magic
0xb2b35d2f>]
Jan 22 22:33:32 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene last message repeated 2 times
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047452 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 8004745a state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047459 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene ipppd[177]: rcvd [0][LCP ConfReq id=0x1 <magic 0x244ded5a>
<auth pap>]
Jan 22 22:33:33 oxygene ipppd[177]: sent [0][LCP ConfAck id=0x1 <magic 0x244ded5a>
<auth pap>]
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene last message repeated 2 times
Jan 22 22:33:33 oxygene ipppd[177]: rcvd [0][LCP ConfNak id=0x1 <auth chap md5>]
Jan 22 22:33:33 oxygene ipppd[177]: sent [0][LCP ConfReq id=0x2 <magic 0xb2b35d2f>]
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 8004745a state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047459 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047452 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 8004745a state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047459 state: 3
Jan 22 22:33:33 oxygene ipppd[177]: rcvd [0][LCP ConfAck id=0x2 <magic 0xb2b35d2f>]
Jan 22 22:33:33 oxygene ipppd[177]: lcp layer is UP
Jan 22 22:33:33 oxygene ipppd[177]: peer refused to authenticate
Jan 22 22:33:33 oxygene ipppd[177]: sent [0][LCP TermReq id=0x3 70 65 65 72 20 72 65
66 75 73 65 64 20 74 6f 20 61 75 74 68 65 6e 74 69 63 61 74 65]
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 8004745a state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047459 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047452 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 8004745a state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 40047459 state: 3
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene last message repeated 2 times
Jan 22 22:33:33 oxygene kernel: ippp: release, minor: 0 7809018
Jan 22 22:33:33 oxygene kernel: isdn_net: local hangup ippp0
Jan 22 22:33:33 oxygene kernel: isdn_ppp_free 0 7809018 7809018
Jan 22 22:33:33 oxygene kernel: ippp0: Chargesum is 0
Jan 22 22:33:33 oxygene kernel: ippp, open, slot: 0, minor: 0, state: 0000
Jan 22 22:33:33 oxygene kernel: isdn_ppp_ioctl: minor: 0 cmd: 80047441 state: 1
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene kernel: isdn_ppp_select: minor: 0, type: 1
Jan 22 22:33:33 oxygene ipppd[177]: rcvd [0][LCP TermAck id=0x2]
Jan 22 22:33:33 oxygene ipppd[177]: Connection terminated.
Jan 22 22:33:33 oxygene ipppd[177]: taking down PHASE_DEAD link 0, linkunit: 0
Jan 22 22:33:33 oxygene ipppd[177]: LCP is down
Jan 22 22:33:33 oxygene ipppd[177]: closing fd 8 from unit 0
Jan 22 22:33:33 oxygene ipppd[177]: link 0 closed , linkunit: 0
Jan 22 22:33:33 oxygene ipppd[177]: reinit_unit: 0
Jan 22 22:33:33 oxygene ipppd[177]: Connect[0]: /dev/ippp0, fd: 8
--snip--

--
Patrick Mauritz         oxygene@gmx.net
not just a number

#!/bin/sh

# REMOVE the next line once configuration is complete #########################
# REMOVE the above line once configuration is complete ########################


# Instructions: read the comments for each command, and if necessary, edit
# the command (e.g. replace EAZ with your real EAZ or MSN).
# If the command is commented out, remove the leading '#' to enable it if
# the command is needed.
#
# After you have configured this file, remove the "Warning!" line above to
# enable this file.


# Get the device name
set -e ; device=`basename $0`; device=${device#*.}

# set some important values
# Use 10.0.0.1 for LOCALIP and 10.0.0.2 for REMOTEIP if you have
# dynamic IP addresses; with static address fill in the real values!

LOCALIP=10.0.0.1	# XXX_
REMOTEIP=10.0.0.2	# XXX_

# Phone numbers (without the leading zero)
LOCALMSN=xxx 	# XXX_
REMOTEMSN=yyy	# XXX_

# Encapsulation (default is syncppp for ipppX devices, rawip for isdnX devices)
# Change the next four lines if you need some other value.
if expr ${device} : ippp > /dev/null
then	ENCAP=syncppp
else	ENCAP=rawip
fi

# DIALMODE:
# New with kernel 2.0.36 is the `dialmode' setting.
# dialmode=auto is compatible with the old behaviour (dial-on-demand enabled).
# Read the isdnctrl manpage for more info.
# Change the value below if you want a different setting when the interface is
# started.

DIALMODE=manual		# XXX_

# Configuration (start)

case "$1" in
start)

	# If running kernel 2.0.31 or higher, enable the IP dynamic hack
	# (if needed). See linux/Documentation/ip_dynaddr.txt .
	# You may also need to use the ip-up and ip-down scripts in
	# /usr/doc/isdnutils/examples to get the routing correct. Those
	# scripts should be put in /etc/ppp, but beware of overwriting any
	# existing scripts belonging to the "ppp" package!
	#[ -f /proc/sys/net/ipv4/ip_dynaddr ] && echo 1 > /proc/sys/net/ipv4/ip_dynaddr
	
	# First you need to create the interface
	isdnctrl addif ${device}

	#	eaz name num
	# Set the EAZ (German 1TR6 protocol) or MSN (Euro-ISDN E-DSS1) for
	# interface "name" to "num". For an EAZ this is only one digit, for a
	# MSN "num" is the whole MSN.
	# In the Netherlands this includes the areacode, but not the leading 0.
	# (other countries?)
	isdnctrl eaz ${device} $LOCALMSN

	#	addphone name out num
	# Set the phone number(s) of the remote site for the IP-interface
	# "name". More than one number can be set by calling isdnctrl addphone
	# repeatedly. If more than one number is set these will be tried one
	# after another. When using an german SPV-type connection, with a
	# ICN-card, the number has to be preceeded by a capital S.   
	# This is the "normal" number.
	isdnctrl addphone ${device} out 0$REMOTEMSN

	#	addphone name in num
	# Set the phone number(s) that the IP-interface "name" is supposed to
	# accept for incoming calls. If no num­ ber is given incoming calls are
	# disabled. More than one number can be set by calling isdnctrl addphone
	# repeatedly. Also wildcards can be used (see below). 
	# In the Netherlands (and elsewhere?),
	# this is with areacode but without leading 0
	# isdnctrl addphone ${device} in $REMOTEMSN

	#	secure name on|off
	# Turns on or off the security feature for interface "name". If set to
	# on, incoming calls will only be accepted if the calling number has
	# been added to the access list with isdnctrl addphone name in. 
	isdnctrl secure ${device} on

	#	huptimeout name seconds
	# Set the hangup timeout for interface "name" to "seconds". If there
	# is inactivity (i.e. no traffic on the interface) for the given time
	# the driver automatically shuts down the connection. 
	# Default is 60 seconds
	isdnctrl huptimeout ${device} 60

	# 	dialmax name num
	# Set the number of dial atempts for interface "name" to "num". If
	# dialing, each phonenumber is tried this many times before giving up.
	#isdnctrl dialmax ${device} NUM

	#	ihup name on|off
	# Turn on or off the hangup timeout for incoming calls on interface name
	#isdnctrl ihup ${device} on

	#	 encap name encapname
	# Set the encapsulation mode for interface "name". Possible modes for
	# encapname are: rawip ip cisco_h ethernet syncppp uihdlc 
	# (most people use rawip, syncppp or cisco_h; syncppp is normal for
	# ISP's, rawip is normal for semi-fixed linux-linux connections)
	isdnctrl encap ${device} $ENCAP

	#	l2_prot name protocol
	# Set the layer-2 protocol for interface "name". Possible values for
	# "protocol" are x75i, x75ui, x75bui and hdlc 
	# (most people use hdlc)
	isdnctrl l2_prot ${device} hdlc

	#	l3_prot name protocol
	# Set the layer-3 protocol for interface "name". At the moment only
	# trans is supported.  If protocol is omitted the current setting is
	# printed.   
	isdnctrl l3_prot ${device} trans

	#	verbose num
	# Set verbosity level to <num>. 
	# (2 shows the first package of every connection, that is very useful.)
	# WARNING: this is a global parameter, that affects all isdn devices!
	isdnctrl verbose 3

	# CHARGEHUP FUNCTION

	#	chargehup name on|off
	# Turn on or off hangup before next charge info for interface name. This
	# can only be used if the ISDN provider transmits charge info during and
	# after the connection. If set to on, the driver will close the
	# connection just before the next charge info will  be received if the
	# interface is inactive. 
	#isdnctrl chargehup ${device} on

	#	chargeint name seconds
	# When "seconds" are given, the charge interval for the given interface
	# is set. This may be of use on ISDN lines with no chargeinfo or no
	# online chargeinfo. The connection will only be closed 2 seconds before
	# the end of the next charge interval and only, if huptime out seconds
	# of inactivity have been reached. If ihup is on, also incomming
	# connections are closed by this mechanism.
	#isdnctrl chargeint ${device} NUM

	# CALLBACK FUNCTION

	#	callback name off|in|out
	# Selects callback mode for interface "name". If call­back mode is in,
	# then after getting an incoming call, a callback is triggered. If
	# callback mode is out, then this system does the initial call, then
	# waiting for callback of the remote machine. 
	#isdnctrl callback ${device} MODE

	#	cbdelay name seconds
	# Set the callback delay for interface "name" to "seconds". If callback
	# mode for this interface is in, dialing is delayed the given time. If
	# the callback mode is out, after dialing out and waiting the given
	# time, a hangup is issued to free the line for the incoming callback
	# from the remote machine. This hangup-after-dial is disabled by setting
	# cbdelay to 0.  
	#isdnctrl cbdelay ${device} SECONDS

	#	cbhup name on|off
	# Turns on or off Hangup (Reject) for interface "name" before starting
	# Callback. 
	#isdnctrl cbhup ${device} MODE

	#	OTHER OPTIONS

	# There are other options not used by most people.  You can insert these
	# options here. 

	# See also : isdnctrl(8), isdnctrl help text

	# pppbind is needed when using one ipppd per ippp interface
	# (like Debian does)
	if bindnum=`expr $device : 'ippp\(.\)'`
	then
		isdnctrl pppbind ${device} `expr "$device" : 'ippp\(.\)'`
	fi

	#	 NETWORK SETUP

	# Network device setup as usual. 
	# See also : ifconfig(8) route(8) or any book about unix networking.

	ifconfig ${device} up
	ifconfig ${device} $LOCALIP pointopoint $REMOTEIP
	route add -host $REMOTEIP
	# setting default route here is only useful if this is your only
	# outside connection...
	route add default ${device}                     
	# firewall rules
	# Note that the default rule should be to deny all incoming connections!
	# That's done with the line below:
	#	ipfwadm -I -p deny
	# After that you need to allow incoming connections on eth0 and lo:
	#	ipfwadm -I -a accept -W lo -S 127.0.0.0/8
	#	ipfwadm -I -a accept -W eth0 -S 192.168.0.0/16
	# Of course, change 192.168.0.0 to fit your ethernet network number...
	# The ipfwadm commands above should be done only once, e.g. in
	# /etc/init.d/netbase in the function spoof_protect.
	#
	# The firewall rules below will only work here if using static IP
	# addresses!!!  For dynamic addresses the rules should be added in
	# /etc/ppp/ip-up.d/isdnutils and deleted in /etc/ppp/ip-down.d/isdnutils
	# 
	# Next two lines enable inbound packets to non-service ports
	# except for smtp and ident (for mail and identification of
	# connections, a Good Thing).
	#	ipfwadm -I -a accept -W ${device} -P tcp  -D $LOCALIP smtp ident 1024:65535
	#	ipfwadm -I -a accept -W ${device} -P udp  -D $LOCALIP 1024:65535
	#	ipfwadm -I -a accept -W ${device} -P icmp -D $LOCALIP
	# masquerading rules, for transparently connecting local net to internet
	#	ETH_IP=`hostname -i | tr -d ' '`
	#	ipfwadm -F -a accept -m -P tcp -S $ETH_IP/24
	#	ipfwadm -F -a accept -m -P udp -S $ETH_IP/24
	isdnctrl dialmode $device $DIALMODE || true
	;;

# Delete the interface
stop)
	isdnctrl dialmode $device off || true
	# Commands to undo the network stuff
	# Undo any ipfwadm commands done above! Change the -a to -d, put below.
	route del $REMOTEIP	2> /dev/null || true
	# only delete default route if set above!
	route del default	2> /dev/null || true
	ifconfig $device down	2> /dev/null || true
	isdnctrl delif $device	2> /dev/null || true
	;;

# the rest is generic, don't touch
  *)
	echo "Usage: $0 {start|stop}"
	exit 1
	;;
esac

exit 0
# Options file for ipppd.
# ipppd will not read /etc/ppp/options or /etc/ppp/ioptions or any other
# config file. Everything has to be in here.

# REMOVE the next line once configuration is complete #########################
# REMOVE the above line once configuration is complete ########################

# "peer" is the name for our syncppp partner.

# STANDARD OPTIONS

debug			# enable debugging
kdebug 3		# set kernel debugging level to X
#nodetach		# (no) fork to the background
#callback X		# ask for callback (parameter X ?)
lock			# create a lock file for device 
#domain X		# add domain X to a given hostname
#pidfile X		# save pid in file X
#call X			# take options from privileges file (???)
#idle X			# idle time limit (seconds)
#holdoff X		# holdoff time limit (seconds)
#maxconnect X		# set maximum connection time (in seconds ?)
#+mp			# enable multi line ppp
#+pwlog			# log password (WARNING: possible security hole)
#nomagic		# magic number negotiation

# ppp handshake : tuning

#silent			# don't even try to initiate the connection
#passive		# wait for the peer to initiate the connection
#lcp-echo-failure X	# consecutive echo failures
#lcp-echo-interval X	# time for lcp echo events 
lcp-restart 1		# Set timeout for LCP 
#lcp-max-terminate X	# Set max #xmits for term-reqs
#lcp-max-configure X	# Set max #xmits for conf-reqs 
#lcp-max-failure X 	# Set max #conf-naks for LCP


# AUTHENTICATION

name aaa		# set local name for auth
user aaa		# set name for auth with peer
#usehostname		# use hostname for auth
#remotename X		# set remote name for auth
#noauth			# (dont) require peer (the other) to auth
require-pap		# allow only pap authetication
#require-chap		# allow only chap authentication
login			# use system password database for pap
#papcrypt		# pap passwords are encrypted

# AUTHENTICATION TUNING
#pap-restart X		# Set retransmit timeout for PAP 
#pap-max-authreq X	# Set max #xmits for auth-reqs
#pap-timeout X		# Set time limit for peer PAP auth.
#chap-restart X 	# Set timeout for CHAP 
#chap-max-challenge X 	# Set max #xmits for challenge 
#chap-interval X 	# Set interval for rechallenge

# COMPRESSION

noaccomp		# address compression on/off
nopcomp		# protocol field compression on/off
novj			# van jacobsen compression on/off
novjccomp		# van jacobsen connection-ID compression on/off
#vj-max-slots X		# tune maximum vj header slots
nobsdcomp		# bsd compression on/off
nodeflate		# deflate compression on/off
nopredictor1		# predictor1 compression in/off
noccp			# compression negotation on/off


# IP NETWORKING

#noip			# en/disable ip transfer
#X:Y			# set local ip to X, remote ip to Y
noipdefault		# don't use name for default ip addr
#useifip		# use ip addresses form interface
#usefirstip		# use first ip from auth file for remote
#netmask X		# set netmask X
#defaultroute 		# (dont) set default route 
#hostroute		# (dont) set host route
#noproxyarp		# (dont) set an proxy arp entry
#mru X			# set maximum size of recive units to X
default-mru		# disable mru negotation
mtu 1500		# set maximum size of transmit units to X (1500 is OK)
#useifmtu		# use mtu from interface
#ipparam X		# set ip parameters in script X
#ms-dns X		# dns address for the peers use
#ms-wins X		# wins address for the peers use
#set_userip 		# define valid ip addresses in /etc/ppp/useriptab


#ipcp-restart X		# Set timeout for IPCP 
#ipcp-max-terminate X	# Set max #xmits for term-reqs 
#ipcp-max-configure X	# Set max #xmits for conf-reqs 
#ipcp-max-failure X	# Set max #conf-naks for IPCP 
ipcp-accept-local	# Accept peer's address for us 
ipcp-accept-remote	# Accept peer's address for it 

# IPX NETWORKING

#noipx			# en/disable ipx
#ipx-network X 		# IPX network number 
#ipxcp-accept-network	#  Accept peer netowrk
#ipx-node X 		# IPX node number 
#ipxcp-accept-local	# Accept our address 
#ipxcp-accept-remote	# Accept peer's address
#ipx-routing X		# IPX routing proto number 
#ipx-router-name X	# IPX router name
#ipxcp-restart X 	# Set timeout for IPXCP 
#ipxcp-max-terminate X	# max #xmits for term-reqs 
#ipxcp-max-configure X	# max #xmits for conf-reqs 
#ipxcp-max-failure X	# max #conf-naks for IPXCP 

[GLOBAL]
COUNTRYPREFIX=+
AREAPREFIX=0

# Change this to reflect your city
COUNTRYCODE=49	# the Netherlands
AREACODE=611	# Almelo

# Isdnlog supports two databases for areacode -> name mapping. 
# avon is the old one, I recommend to use areacode, the new one.
# However, it is easier to add to the avon database...
CODELIB=AREACODE
# for avon:
# CODELIB=AVON
AREALIB=/usr/lib/isdn/areacode.dat
AVON=/usr/lib/isdn/avon

[VARIABLES]

[ISDNLOG]
CHARGEMAX = 9999.99
# CURRENCY = 0.08,NLG	# 8 cents/unit (approximation in NL!), currency notation

ILABEL = %b %e %T %ICall to tei %t from %N2 on %n2
OLABEL = %b %e %T %Itei %t calling %N2 with %n2
# Alternates (easier to read):
# ILABEL = %a %b %e %T incoming %I%n2 <- %N2
# OLABEL = %a %b %e %T outgoing %I%n2 -> %N2


Reply to: