Сервер 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
Другие вопросы по тегам