No connectivity between clients on the same interface

I'm having a problem configuring wireless interfaces in Linux. For some reason, traffic generated by wireless clients destined for other wireless clients on the same interface gets dropped (i.e. arp requests, icmp, the likes).

For example, 10.0.1.2 (connected to wlan0) can ping 10.0.1.3 (connected to wlan1) and vice versa. However, 10.0.1.4 (also connected to wlan1) cannot ping 10.0.1.3.

Interestingly, wireshark shows the incoming packets, so they are reaching the interface. I currently have the wireless interface attached to a bridge, however the problem also occurs without the bridge. I've also tried various wireless chips with various clients and they all behave the same way. Also, adding the relevant arp records manually on the wireless clients does not fix the problem.

To me, this seems like some sysctl or ip route setting I've missed. Any input would be greatly appreciated. Please let me know if you need any particular part of my config.

For reference, ap_isolate is not set in my hostapd config and the only sysctl param I have specified is net.ipv4.ip_forward = 1, with NAT configured in iptables.

UPDATE 1 (relevant sysctl config):

net.ipv4.conf.wls15.accept_local = 0
net.ipv4.conf.wls15.accept_redirects = 1
net.ipv4.conf.wls15.accept_source_route = 1
net.ipv4.conf.wls15.arp_accept = 0
net.ipv4.conf.wls15.arp_announce = 0
net.ipv4.conf.wls15.arp_filter = 0
net.ipv4.conf.wls15.arp_ignore = 1
net.ipv4.conf.wls15.arp_notify = 0
net.ipv4.conf.wls15.bootp_relay = 0
net.ipv4.conf.wls15.disable_policy = 0
net.ipv4.conf.wls15.disable_xfrm = 0
net.ipv4.conf.wls15.drop_gratuitous_arp = 0
net.ipv4.conf.wls15.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.wls15.force_igmp_version = 0
net.ipv4.conf.wls15.forwarding = 1
net.ipv4.conf.wls15.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.wls15.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.wls15.ignore_routes_with_linkdown = 0
net.ipv4.conf.wls15.log_martians = 0
net.ipv4.conf.wls15.mc_forwarding = 0
net.ipv4.conf.wls15.medium_id = 0
net.ipv4.conf.wls15.promote_secondaries = 0
net.ipv4.conf.wls15.proxy_arp = 0
net.ipv4.conf.wls15.proxy_arp_pvlan = 0
net.ipv4.conf.wls15.route_localnet = 0
net.ipv4.conf.wls15.rp_filter = 1
net.ipv4.conf.wls15.secure_redirects = 1
net.ipv4.conf.wls15.send_redirects = 1
net.ipv4.conf.wls15.shared_media = 1
net.ipv4.conf.wls15.src_valid_mark = 0
net.ipv4.conf.wls15.tag = 0

Looks like enabling redirection fixed the issues!

0
задан 27 March 2017 в 08:52
1 ответ

Проверьте настройки конфигурации беспроводного устройства. Команда sysctl -a | grep ipv4.conf.wlan0 должна выдать настройки. Это те настройки, которые я настроил:

net.ipv4.conf.wlan0.accept_redirects = 1
net.ipv4.conf.wlan0.accept_source_route = 1
net.ipv4.conf.wlan0.arp_ignore = 1
net.ipv4.conf.wlan0.forwarding = 1
net.ipv4.conf.wlan0.secure_redirects = 1
net.ipv4.conf.wlan0.send_redirects = 1
net.ipv4.conf.wlan0.shared_media = 1
0
ответ дан 24 November 2019 в 04:45

Теги

Похожие вопросы