Hello Andrew, you wrote.
I have not done much with the dachstein -CD version, but I possibly
found a cause.
I don't have a dachstein running ( using Bering :) )
The main difference between your eigerstein and your dachstein
setup seems to be the route.
eigerstein
> 139.130.0.0/16 dev ippp0 proto kernel scope link src 139.130.195.30
dachstein
> 139.130.195.1 dev ippp0 proto kernel scope link src 139.130.195.30
The interface ippp0 is in eigerstein probably declared as
139.130.0.0./16 so will be the firewall rules connected to this
interface
In the dachstein version your firewall rules might be so that the
ippp0 is only 139.130.195.1
check that.
>From the route itself you should be able to route through ippp0 as
the default route is directed in this direction.
The ippp0_MASKLEN is not set
> eval local MASKLEN=\${"$1"_MASKLEN:-""}
IMHO if you set ippp0_MASKLEN=16 then you should get the
same setup as before
Eric Wolzak
member of the Bering crew
---------------------------original message -------------
> I have configured a DACHSTIEN CD firewall which I am using at home with a
> dialup system
> and it works very well and now have several deployed around Australia on
> remote sites for
> the company I work for. The latter of these units are connected by modem
> to Bigpond
> Direct and have proven themselves to be very reliable. My problem occurs
> when I updated
> the main office firewall to DACHSTIEN CD. This firewall currently is
> running Eigerstien
> with 2 ISDN channels and working very reliably but I wanted to upgrade to
> take advantage
> of the latest security features and additions.
>
> On the Eigerstien version, the routes are:
>
> # ip route
> 203.47.153.64/26 dev eth1 proto kernel scope link src 203.47.153.65
> 192.168.45.0/24 dev eth0 proto kernel scope link src 192.168.45.1
> 139.130.0.0/16 dev ippp0 proto kernel scope link src 139.130.195.30
> default dev ippp0 scope link
>
> This has been working well. To get ISDN support for the DACHSTIEN CD
> version, I found
> the files where the devices are created and added the appropriate text to
> the files,
> /var/lib/lrpkg/root.dev.mk /var/lib/lrpkg/root.dev.mod and
> /var/lib/lrpkg/root.dev.own,
> copying the exact text to each file that had been used in the Eigerstien
> version I am
> currently running. The interface devices were created in /dev and all
> appear to run
> correctly except for the routing when the firewall starts. The routes on
> this machine
> are:
>
> # ip route
> 139.130.195.1 dev ippp0 proto kernel scope link src 139.130.195.30
> 203.47.153.64/26 dev eth1 proto kernel scope link src 203.47.153.65
> 192.168.45.0/24 dev eth0 proto kernel scope link src 192.168.45.1
> default dev ippp0 scope link
>
> The address 139.130.195.1 is the peer address of the box when connected to
> the Bigpond
> Direct point of presence. The additions to the network.conf shown below
> were typed in
> exactly as they were in the previous version, so this may be part of the
> problem if some
> of the functions act differently in the DACHSTIEN CD version. The
> firewall, when
> tested, dialled and connected both channels in multilink configuration to
> the ISP but is
> only able to access ip addresses in the 139.130.0.0/16 address range.
> These are only
> within our ISP's internal network and therefore do not allow access to the
> internet at
> large.
>
> Any assistance would be greatly appreciated as I have been tearing my hair
> out for the
> last three weeks in my attempt to find the problem myself.
>
> Interfaces:
> # Interfaces to start on boot go here - ie "ppp0 eth0"
> # Do NOT include interfaces configured by dhcp!
> IF_AUTO="ippp0 eth0 eth1"
>
> # List of all configured interfaces, manual start and boot start
> IF_LIST="$IF_AUTO"
>
> Device settings:
> ############################################################################
> ###
> # ISDN Link - the isdn.lrp is required for this to work. (External
> Interface)
> ############################################################################
> ###
> ippp0_IPADDR=139.130.195.30 # My IP Address, only set if not dynamic.
> ippp0_PTPADDR=139.130.195.1 # Their IP Address, again only if not dynamic.
> ippp0_MYMSN=38049800 # My telephone Number
> ippp0_REMMSN=30073300 # Their telephone number (The ISP)
> ippp0_IP_SPOOF=YES
> ippp0_IP_KRNL_LOGMARTIANS=NO
> # Simple QOS support, Options are same as ethernet above.
> ippp0_FAIRQ=YES
> ippp0_TXQLEN=64
> ippp0_BNDWIDTH=64kbit # Device Bandwidth
> ippp0_HNHL=3 # Queue Handle - must be unique
> ippp0_IABURST=25 # Interactive Burst
> ippp0_IARATE=30Kbit # Interactive Rate
> ippp0_PXMTU=1500 # Physical MTU - includes Link Layer Header
>
> ippp1_IPADDR=139.130.195.30 # My IP Address, only set if not dynamic.
> ippp1_PTPADDR=139.130.195.1 # Their IP Address, again only if not dynamic.
> ippp1_MYMSN=38049800 # My telephone Number
> ippp1_REMMSN=30073300 # Their telephone number (The ISP)
> ippp1_IP_SPOOF=YES
> ippp1_IP_KRNL_LOGMARTIANS=NO
> # Simple QOS support, Options are same as ethernet above.
> ippp1_FAIRQ=YES
> ippp1_TXQLEN=64
> ippp1_BNDWIDTH=64kbit # Device Bandwidth
> ippp1_HNHL=4 # Queue Handle - must be unique
> ippp1_IABURST=25 # Interactive Burst
> ippp1_IARATE=30Kbit # Interactive Rate
> ippp1_PXMTU=1500 # Physical MTU - includes Link Layer Header
>
> Interface Activation Section:
> if_up () {
> local ADDR
>
> # sort out a few things to make life easier - here so that you
> # can see what is done and so that you can add anything if needed
> eval local IPADDR=\${"$1"_IPADDR:-""} # I am also a good genius
> eval local MASKLEN=\${"$1"_MASKLEN:-""}
> eval local BROADCAST=\${"$1"_BROADCAST:-""}
> eval local MYMSN=\${"$1"_MYMSN:-""}
> eval local REMMSN=\${"$1"_REMMSN:-""}
> eval local PTPADDR=\${"$1"_PTPADDR:-""}
> eval local PXMTU=\${"$1"_PXMTU:-""}
> eval local DEFAULT_GW=\${"$1"_DEFAULT_GW:-""}
> eval local IP_EXTRA_ADDRS=\${"$1"_IP_EXTRA_ADDRS:-""}
> eval local ROUTES=\${"$1"_ROUTES:-""}
> eval local FAIRQ=\${"$1"_FAIRQ:-""}
> eval local TXQLEN=\${"$1"_TXQLEN:-""}
> eval local IP_SPOOF=\${"$1"_IP_SPOOF:-""}
> eval local IP_KRNL_LOGMARTIANS=\${"$1"_IP_KRNL_LOGMARTIANS:-""}
> eval local IP_SHARED_MEDIA=\${"$1"_IP_SHARED_MEDIA:-""}
> eval local BRIDGE=\${"$1"_BRIDGE:-""}
> eval local PROXY_ARP=\${"$1"_PROXY_ARP:-""}
> if [ -n "$BROADCAST" ] ; then
> IFCFG_BROADCAST="broadcast $BROADCAST"
> fi
>
> # Do dee global bridge stuff
> brg_global
>
> # Set default interface flags here - used for PPP and WAN interfaces
> if_setproc default rp_filter $DEF_IP_SPOOF
> if_setproc default log_martians $DEF_IP_KRNL_LOGMARTIANS
> if_setproc all accept_redirects $ALLIF_ACCEPT_REDIRECTS
>
> # Set up each interface
> case $1 in
> ppp0)
> pppd call provider
> ;;
> ippp*)
> # Get ppp user
> USER=`cat /etc/ppp/pap-secrets | grep ^[a-zA-Z0-9] | sed 's/\*.*//'`
>
> # Set up the ISDN interface
> isdnctrl verbose 3 #>/dev/null
> isdnctrl system on #>/dev/null
> isdnctrl addif $1 #>/dev/null
> isdnctrl pppbind $1 0 #>/dev/null
> isdnctrl addphone $1 out $REMMSN #>/dev/null
> isdnctrl eaz $1 $MYMSN #>/dev/null
> isdnctrl l2_prot $1 hdlc #>/dev/null
> isdnctrl l3_prot $1 trans #>/dev/null
> isdnctrl encap $1 syncppp #>/dev/null
> isdnctrl huptimeout $1 43200 #>/dev/null
> isdnctrl dialmode $1 auto #>/dev/null
>
> # Set up second chanel on ISDN card as a slave to the first.
> isdnctrl addslave $1 ippp1
> isdnctrl addphone ippp1 out $REMMSN #>/dev/null
> isdnctrl eaz ippp1 $MYMSN #>/dev/null
> isdnctrl l2_prot ippp1 hdlc #>/dev/null
> isdnctrl l3_prot ippp1 trans #>/dev/null
> isdnctrl encap ippp1 syncppp #>/dev/null
> isdnctrl huptimeout ippp1 43200 #>/dev/null
> isdnctrl dialmode ippp1 auto #>/dev/null
>
> if [ -z "$IPADDR" ] ; then
> echo 1 >/proc/sys/net/ipv4/ip_dynaddr
> ip link set $1 dynamic on
> else
> ip addr add $IPADDR peer $PTPADDR dev $1
> fi
> ip link set $1 arp off multicast off
> ip link set $1 up
>
> # Debugging - Remove if you like
> echo Local Address $IPADDR
> echo Peer Address $PTPADDR
>
> if [ -z "$IPADDR" ] ; then
> /usr/sbin/ipppd mru 1500 mtu $PXMTU ipcp-accept-local
> ipcp-accept-remote
> lcp-restart 1 name $USER noipdefault +mp /dev/$1 /dev/ippp1 &
> else
> /usr/sbin/ipppd mru 1500 mtu $PXMTU lcp-restart 1 name $USER
> $IPADDR:$PTPADDR +mp /dev/$1 /dev/ippp1 &
> fi
> ip route add default dev $1
> # Fair queuing - this can be selected for any interface
> ip_frQoS $1
> ;;
> fr*)
> wanconfig card wanpipe1 dev $1 start
> ip addr add $IPADDR peer $PTPADDR dev $1
> ip link set $1 up
> # Fair queuing - this can be selected for any interface
> ip_frQoS $1
> ;;
> nat*)
> eval local BASE_PRI=\${"$1"_BASE_PRI:-""}
> walk_list $1_PAIR $INIT_INDEX do_nat add $BASE_PRI
> ;;
> *) # default interface startup
> brg_iface $1 up $BRIDGE
> [ -n "$IPADDR" ] \
> && ip addr add $IPADDR/$MASKLEN $IFCFG_BROADCAST dev $1
> for ADDR in $IP_EXTRA_ADDRS; do
> ip addr add $ADDR dev $1
> done
>
> ip link set $1 up
>
> case "$PROXY_ARP" in
> YES|Yes|yes)
> ip route flush dev $1
> ;;
> *)
> ;;
> esac
>
> # Fair queuing - this can be selected for any interface
> ip_QoS $1
> ;;
> esac
>
> for route in $ROUTES; do
> echo Route: $route
> ip route add `echo_rtepfx $route` dev $1 `echo_rteargs $route`
> done
>
> # Do universal interface config items here
> # Default route support
> [ -n "$DEFAULT_GW" ] \
> && ip route replace default nexthop via $DEFAULT_GW dev $1
> # Set the TX Queue Length
> [ -n "$TXQLEN" ] \
> && ip link set $1 txqlen $TXQLEN
> # Spoof protection
> if_setproc $1 rp_filter $IP_SPOOF
> # Kernel logging of martians on this interface
> if_setproc $1 log_martians $IP_KRNL_LOGMARTIANS
> # Shared Media stuff
> if_setproc $1 shared_media $IP_SHARED_MEDIA
> # Proxy ARP support
> if_setproc $1 proxy_arp $PROXY_ARP
>
> return 0
> }
>
> if_down () {
>
> # Do Dee global bridge stuff
> brg_global
>
> case $1 in
> ppp*)
> [ -f /var/run/$1.pid ] && qt kill `cat /var/run/$1.pid`
> sleep 5 # Wait for pppd to die
> ;;
> ippp*)
> isdnctrl hangup $1
> sleep 1
> kill `cat /var/run/ipppd.pid`
> ip route del dev $1
> ip link set $1 down
> isdnctrl delif $1
> ;;
> fr*)
> qt ip link set $1 down
> qt ip addr flush dev $1
> qt wanconfig card wanpipe1 dev $1 stop
> ;;
> nat*)
> eval local BASE_PRI=\${"$1"_BASE_PRI:-""}
> walk_list $1_PAIR $INIT_INDEX do_nat del $BASE_PRI
> ;;
> *) # default action
> brg_iface $1 down
> ip link set $1 down # This also kills any routes
> qt ip addr flush dev $1
> ;;
> esac
>
> # Clean up any QoS/fair queuing stuff
> ip_QoSclear $1
>
> true
>
> } #END if_down
>
> Andrew GRAY
_______________________________________________
Leaf-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-user