OpenWrt Forum Archive

Topic: Setting up proxy ARP

The content of this topic has been archived on 24 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello,
is value 1 in /proc/sys/net/ipv4/conf/interface_you_need_proxyarp/proxy_arp file?

Umm, it is 0 by default. I tried to set that also to 1, namely /proc/sys/net/ipv4/conf/wlan0/proxy_arp, but I could remember that it wasn't working. Or do you know how to test this?

In which scenario do you need proxyarp enabled on WLAN interface? What is not working without it?

So, I use this feature called disable_dgaf from hostapd. So we have to recompile hostapd to do that because the one that comes from Chaos Calmer doesn't have it. We set the CONFIG_HS20=y option for the hostapad compilation and then we'll get a new binary with this option for hostapd.conf. Then I hacked a few scripts to output disable_dgaf=1 via the UCI system. Also based on a few forums online it needs proxy_arp=1 in the hostapd.conf, which I also did by hacking the scripts. The disable_dgaf=1 works but the devices in the WLAN couldn't ping each other after it is enabled and proxy ARP seems to be the solution so that they can talk with one another again. So, perhaps if you know how to set up Proxy ARP on OpenWrt, I can perhaps adapt your solution while keeping disable_dgaf=1. The proxy_arp=1 just doesn't work on Linux Kernel 3.18.xx that Chaos Calmer has.

According to this page it seems that it's enabled in kernel 4.1.xx onwards: https://dev.openwrt.org/browser/trunk/t … ?rev=46825

rtrimana wrote:

Umm, it is 0 by default. I tried to set that also to 1, namely /proc/sys/net/ipv4/conf/wlan0/proxy_arp, but I could remember that it wasn't working. Or do you know how to test this?

interface1 192.168.0.1 mac aa:bb:cc:dd:ee:ff
station1 192.168.0.2 mac 11:22:33:44:55:66
proxyarp enabled

interface2 192.168.1.1 mac ff:ee:dd:cc:bb:aa
station2 192.168.1.2 mac 66:55:44:33:22:11
proxyarp enabled

stations behind interface1 will see 192.168.1.2 with mac ff:ee:dd:cc:bb:aa
stations behind interface2 will see 192.168.0.2 with mac aa:bb:cc:dd:ee:ff

I hope, Im right :-)

I dont know much about dgaf, but kernel 3.18 can proxyarp. Proxyarp is enabled since kernel 2.4

(Last edited by milankocvara on 13 Apr 2017, 18:44)

Thank you @milankocvara! Although I couldn't really use your recipe. I read somewhere else something like that that we probably do for a debian system?
Anyway, I made it to work by compiling my own OpenWrt from the current master branch from here: https://github.com/openwrt/openwrt
Then I recompiled the kernel and all the packages. With all the needed packages I could set up the hostapd properly with both proxy_arp=1 and disable_dgaf=1. Although not all of my devices are connected, all the RaspberryPi's are properly connected and they can ping one another.

The discussion might have continued from here.