Сервер Ubuntu 14.04, работающий как WIFI-LAN-Router, отбрасывает пакеты между LAN и WIFI
Я хотел бы иметь возможность обмениваться пакетами между WIFI и LAN.
Мой сервер Ubuntu 14.04, работающий как lan-wifi-маршрутизатор, имеет два физических порта Ethernet (p4p1 и p5p1), а также модуль WIFI (wlan0). Интерфейс p4p1 - это мое подключение к Интернету, и он получает свой адрес через DHCP от моего провайдера.
wlan0 и p5p1 подключены к мосту br0, который использует статический адрес 192.168.3.1. Оба отдельных интерфейса не имеют адреса. dnsmaq назначает каждому устройству на br0 IP-адрес. Я использовал это руководство для настройки роутера.
Я могу подключиться к Интернету как по локальной сети, так и по Wi-Fi. Также возможно пропинговать каждое устройство с консоли сервера. Но я не могу подключиться из одной части сети в другую. Следовательно, мой принтер WIFI может обслуживаться только сервером, а не клиентами.
Я могу подтвердить, что пакеты отправлены и достигают моста br0, но они не могут достигнуть интерфейса после моста. Это было проверено с wireshark.
Конфигурация:
/ и т.д. / сети / интерфейсы
auto lo
iface lo inet loopback
auto p4p1
iface p4p1 inet dhcp
auto br0
iface br0 inet static
address 192.168.3.1
netmask 255.255.255.0
broadcast 192.168.3.255
bridge_ports p5p1 wlan0
маршрут -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 XXX.XXX.XXX.1 0.0.0.0 UG 0 0 0 p4p1
XXX.XXX.XXX.0 0.0.0.0 255.255.255.0 U 0 0 0 p4p1
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Есть ли очевидная ошибка? Может быть, в таблице маршрутизации?
Изменить 1: У меня уже была эта строка в /etc/sysctl.conf без комментариев.
net.ipv4.ip_forward=1
Следовательно, решение от darent не сработало.
Редактировать 2: Кто-нибудь знает, почему третья строка таблицы маршрутизации имеет шлюз 0.0.0.0? Может ли это быть источником проблемы? Разве это не должно быть 192.168.3.1?
Редактировать 3: я упростил мой файл /etc/network /interfaces.
Редактировать 4: Поскольку я все еще пытаюсь решить эту проблему, вот мой
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
2 ответа
Я нашел источник проблемы. В моей сети iptables FORWARD была принята политика "DROP".
Мне нужен был редизайн моих правил iptables. Но я в основном сделал
iptables --policy FORWARD ACCEPT
и это сработало как шарм.
Настроен ли сервер для пересылки полученных пакетов? Попробуй это:
sudo sysctl net/ipv4/ip_forward=1