Is there an easy way to get certain types of traffic (e.g. sport 25) to be routed over a certain ADSL connection? I''m currently able to get all Proxy browsing to go via the ADSL connection by replacing the tcp_outgoing_address and udp_outgoing_address in squid.conf with the ADSL''s current IP and restarting the proxy server... I would really like to be able to make certain types of traffic to go via different links... Current Setup: 196.38.143.32/28 165.165.?.? eth1 (ISP Diginet Link) eth2 PPPoE ADSL (Dynamic IP) | | |196.38.143.34 $4| +---------------------------------+ | Linux 7.2 Router | +---------------------------------+ |192.168.0.1 | eth0 (Local Network) 192.168.0.0/24 Default Gateway is 196.38.143.34 (Diginet Router) ip-up.local Script: case $6 in out) # ADSL Internet Access /sbin/iptables -F special /sbin/iptables -A special -i $1 -d $4/32 -p tcp --dport 22 --syn -j ACCEPT /sbin/iptables -A special -i $1 -d $4/32 -p tcp --dport 23 --syn -j ACCEPT ip rule add from $4/32 table ADSL # Is there a way to flush all rules referring to the ADSL table? ip route del default table ADSL ip route add default via $5 dev $1 table ADSL ip route flush cache cd /etc/squid cp -f squid.conf.syrex squid.conf TEMP=$4 export TEMP find . -name squid.conf -type f -print | xargs perl -i -pe ''s/ADSL-IP/$ENV{''TEMP''}/g''; /etc/rc.d/init.d/squid restart tc qdisc del dev $1 root 2> /dev/null > /dev/null tc qdisc del dev $1 ingress 2> /dev/null > /dev/null tc qdisc add dev $1 root handle 1: cbq bandwidth 100mbit avpkt 1000 cell 8 tc class add dev $1 parent 1: classid 1:1 cbq rate 260kbit weight 26kbit allot 1514 cell 8 prio 5 avpkt 1000 bounded isolated tc class add dev $1 parent 1:1 classid 1:10 cbq rate 260kbit weight 26kbit allot 1514 cell 8 prio 1 avpkt 1000 tc class add dev $1 parent 1:1 classid 1:20 cbq rate 234kbit weight 23.4kbit allot 1514 cell 8 prio 2 avpkt 1000 tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10 tc filter add dev $1 parent 1:0 protocol ip prio 11 u32 match ip protocol 1 0xff flowid 1:10 tc filter add dev $1 parent 1: protocol ip prio 12 u32 \ match ip protocol 6 0xff \ match u8 0x05 0x0f at 0 \ match u16 0x0000 0xffc0 at 2 \ match u8 0x10 0xff at 33 \ flowid 1:10 tc filter add dev $1 parent 1: protocol ip prio 13 u32 match ip dst 0.0.0.0/0 flowid 1:20 ;; esac Regards David Herselman (Executive Proprietor) -=*> Syrex Intranets <*=- =- 12 Coronation Road http://www.syrex.co.za Sandhurst +27-(0)11-883-2246 Voice 2196 +27-(0)11-884-7945 Fax _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Hello David, : Is there an easy way to get certain types of traffic (e.g. sport 25) to : be routed over a certain ADSL connection? Yes. : I''m currently able to get all Proxy browsing to go via the ADSL : connection by replacing the tcp_outgoing_address and : udp_outgoing_address in squid.conf with the ADSL''s current IP and : restarting the proxy server... : : I would really like to be able to make certain types of traffic to go : via different links... Try something like this: iptables -t mangle -A PREROUTING -p tcp --dport 25 -j MARK --set-mark 4 ip rule add fwmark 4 table ADSL You may need something like this as well in your ip-up script: iptables -t mangle -A POSTROUTING -p tcp --dport 25 -j SNAT --to-source $4 (Note $4 is the current dynamic IP handed to us by pppd.) This may not be everything you need, so please also consult my linux-ip.net documentation. http://linux-ip.net/html/adv-multi-internet.html http://linux-ip.net/html/adv-multi-internet.html#adv-multi-internet-outbound Best of luck, -Martin -- Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/