I am quite new to networking, but have semi-successfully spent time experimenting with different, well documented approaches to using an Rpi to bridge wifi connection from the wlan0 interface to an eth0 connected device using both commonly recommended layer 3 approaches. I've used NAT, DNAT/MASQUERADE, as well as proxyARP with helpers such as parprouted, dhcp-helper, and dnsmasq (using Ingo's tutorials as a basis). However, I have had trouble getting the following seemingly simple variant of these approaches up and running:

I want to use Proxy ARP in some combination with port forwarding such that the printer's IP, statically assigned an address on a different subnet, can be used to access http/print port services on the printer from elsewhere in the network instead of the Pi's wlan0 IP.

What I've tried so far:

I have used parprouted without dhcp-helper, as the printer needs a static IP address, and assigned the eth0 interface the same IP as the Pi's wlan0 interface except with a netmask to avoid routing issues. This works for connecting to the internet, but the printer's http service on port 80 for example is not visible. I can only see the Pi's ssh service listening on port 22. I had thought parprouted would handle the routing automatically, but if not how would it look to set up a manual configuration in this case where the IP's are the same? Or is the lack of port/service availability just an error in my own implementation?

To the main point, and what I am really trying to achieve if possible, how might it work if I create a wired subnet (say for the eth0 and have the Pi (say assign the printer a static IP while using proxy ARP? How can I configure the Pi to both answer ARP requests on the printer's behalf with its own MAC address as well as http port connection requests etc. using the printer's IP instead of forwarding ports to use the Pi's IP/port number?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.