Hi,
I read your "Linux 2.4 Advanced Routing" HOWTO, and particularly the
chapter 11 "Netfilter & iproute - marking packets".
I have two connections adsl in a server web
adsl1
      |
      |
      |
|194.243.12.15 (eth0)   SERVER WEB (eth1) 194.184.12.85 |
                                            |
                                            |
                                            |
                                           adsl2
                                           194.184.12.81
my default gateway is 194.243.12.1 and this is the reason why I can''t
ping the adress  194.184.12.85 from another PC outside the LAN.
I configurated iproute e iptables in the follow way:
iptables:
#for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
#echo 1 > /proc/sys/net/ipv4/route/flush
#iptables -A PREROUTING -i eth1 -p -t mangle -j MARK --set-mark 1
and iproute:
#echo 201 ruteradsl2 >>/etc/iproute2/rt_tables
#ip rule add fwmark 1 table  routeradsl2
# ip rule ls
0:      from all lookup local
32765:  from all fwmark        1 lookup routeradsl2
32766:  from all lookup main
32767:  from all lookup default
# /sbin/ip route add default via 194.184.12.81 dev eth1 table routeradsl2
Unfortunately it doesn''t work.
I made this test:
I put after the line "iptables -A PREROUTING -i eth1  -t mangle -j
MARK --set-mark 1" the line
iptables -t nat -A PREROUTING -j LOG \
        --log-level NOTICE --log-prefix "PRE DEBUG after MARK: "
then from an outside pc, I ping the address 194.184.12.81 (adsl2) with
success, then I ping  the address 194.184.12.85 whitout success.
In the log of iptables there are many line like these:
May 21 15:09:22 ottavio kernel: PRE DEBUG after MARK: IN=eth1
OUTMAC=00:c0:49:b4:7f:c3:00:08:27:10:a9:a9:08:00 SRC=80.207.4.98
DST=194.184.12.85 LEN=84 TOS=0x00 PREC=0x00 TTL=52 ID=0 DF PROTO=ICMP
TYPE=8 CODE=0 ID=17453 SEQ=1280
Where do I wrong?
thanks
Michele Cerioni
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Hello Michele,
 : |194.243.12.15 (eth0)   SERVER WEB (eth1) 194.184.12.85 |
 :                                            adsl2
 :                                            194.184.12.81
So, you have a server with two ADSL connections.
                  +-----------------------------------+
194.243.12.1 -----| 194.243.12.15  SRV  194.184.12.85 |----- 194.184.12.81
             eth0 +-----------------------------------+ eth1
You are handling the inbound packets properly, but if you were to use
tcpdump on eth0, you''d see reply packets (to your ping) leaving on eth0
with a source address of 194.184.12.85.
This is not an uncommon thing to overlook when dealing with routing
systems--there is a path in to the box, and you have correctly identified
how to handle that, but you need to tell the box how to send the outbound
packet.
 : #for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
Yes, you need to do this!
 : #echo 1 > /proc/sys/net/ipv4/route/flush
This is equivalent to "ip route flush cache", and should be performed
after altering the routing tables or the RPDB.
 : #iptables -A PREROUTING -i eth1 -p -t mangle -j MARK --set-mark 1
 : and iproute:
 : #echo 201 ruteradsl2 >>/etc/iproute2/rt_tables
 : #ip rule add fwmark 1 table  routeradsl2
 : # ip rule ls
 : 0:      from all lookup local
 : 32765:  from all fwmark        1 lookup routeradsl2
 : 32766:  from all lookup main
 : 32767:  from all lookup default
 : # /sbin/ip route add default via 194.184.12.81 dev eth1 table routeradsl2
Try adding the following:
# ip rule add from 194.184.12.85 lookup routeradsl2
If you want to see another full example, please consult the section on
multiple Internet connections in the linux-ip.net documentation.
  http://linux-ip.net/html/adv-multi-internet.html
Good 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/
Hi, I have to use kernel 2.2.25, with ipchains but need the --set-mark facility of iptables. Is there a way to mark incoming packet ? Michele _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Michele, : I have to use kernel 2.2.25, with ipchains but need the --set-mark : facility of iptables. ipchains has a similar feature. It''s not a target as in iptables. : Is there a way to mark incoming packet ? ipchains -I input -s $SOURCE -d $DEST --mark $MARK -j ACCEPT -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/