-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
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 System Administrator / Senior Technician Operations VQA Australasia Phone: (07) 3804 9822 Fax: (07) 3807 8633 Mob: 0418 734 078 -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com> iQA/AwUBPLuNzSfv/7x7n0CPEQIm9QCg1gPjJgkVg6C8wU5PZfe/ZUosq5oAoO+G lG5riUuq9wyqWvaHlxaa3CbL =Edev -----END PGP SIGNATURE----- _______________________________________________ Leaf-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-user