Hi,

I need to find out why a plain Debian Wheezy install (fully patched) acting as 
firewall router on a remote location sends packets with the wrong address into 
the openvpn tunnel.

OpenVPN server sided log states:
Thu Jul 16 09:23:19 2015 us=237261 m.duthler-lan/82.217.xxx.xxx:52126 MULTI: 
bad source address from client [192.168.178.5], packet dropped
Thu Jul 16 09:23:19 2015 us=917448 m.duthler-lan/82.217.xxx.xxx:52126 MULTI: 
bad source address from client [192.168.178.5], packet dropped

So, the client is sending packets using its eth1 address
It needs to use its eth0 address for anything going to the rest of the 
172.16.0.0/16 network

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
[...]
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
qlen 1000
    link/ether 00:11:6b:99:34:90 brd ff:ff:ff:ff:ff:ff
    inet 172.16.18.1/24 brd 172.16.18.255 scope global eth0
    inet6 fd00::1:211:6bff:fe99:3490/64 scope global dynamic
       valid_lft 6266sec preferred_lft 6266sec
    inet6 fe80::211:6bff:fe99:3490/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
qlen 1000
    link/ether b8:ac:6f:a0:24:a1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.5/24 brd 192.168.178.255 scope global eth1
    inet6 fe80::baac:6fff:fea0:24a1/64 scope link
       valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast 
state UNKNOWN qlen 100
    link/none
    inet 172.16.1.142 peer 172.16.1.141/32 scope global tun0

Trying to find out what these packets are I added an iptables rule on the 
client machine:
Chain OUTPUT (policy ACCEPT 80564 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 LOG        all  --  *      tun0    192.168.178.0/24     0.0.0.0/0   
         limit: avg 3/hour burst 5 LOG flags 0 level 4

Stragely enough, while the openvpn log keeps logging packets coming from the 
client, the iptables rule on the client logs nothing, no initial packets before 
hitting the limit, just nothing.
If it is coming from the local address 192.168.178.5 then it must come through 
the OUTPUT chain, right?

Ok, so I added a LOG line to FORWARD as well, just to be on the safe side
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
10677 1365K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0   
         state RELATED,ESTABLISHED
    0     0 LOG        all  --  *      tun0    192.168.178.0/24     0.0.0.0/0   
         limit: avg 3/hour burst 5 LOG flags 0 level 4
[...]

Still no result while the OpenVPN log on the server keeps logging those lines 
about 192.168.178.5

There is only 1 line in the nat table
# iptables -t nat -L -v -n
[...]
Chain POSTROUTING (policy ACCEPT 19 packets, 1176 bytes)
 pkts bytes target     prot opt in     out     source               destination
  598 61508 MASQUERADE  all  --  *      eth1    0.0.0.0/0            0.0.0.0/0
Pretty much standard for local traffic leaving for the internet.


In case it is relevant, client sided routing table is:
default via 192.168.178.1 dev eth1
172.16.0.0/16 via 172.16.1.141 dev tun0
172.16.1.129 via 172.16.1.141 dev tun0
172.16.1.141 dev tun0  proto kernel  scope link  src 172.16.1.142
172.16.18.0/24 dev eth0  proto kernel  scope link  src 172.16.18.1
192.168.178.0/24 dev eth1  proto kernel  scope link  src 192.168.178.5

I have no problem reaching any system on the other side using ping.
I can do a dig and it will use our company dns server and produce the proper 
result.

How can I debug this problem further?

Bonno Bloksma


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/89d1798a7351d040b4e74e0a043c69d7ea72c...@einexch-01.tio.nl

Reply via email to