Я хотел бы иметь возможность обмениваться пакетами между WI-FI и LAN.
Мой Сервер Ubuntu 14.04, управляемый как маршрутизатор Wi-Fi LAN, имеет два физических Порта Ethernet (p4p1 и p5p1), а также Модуль WI-FI (wlan0). Интерфейс p4p1 является моим соединением с Интернетом и получает его адрес через DHCP от моего поставщика.
wlan0 и p5p1 подключены к мосту br0, который использует статический адрес 192.168.3.1. У обоих интерфейсы indiviual нет адреса. dnsmaq присваивает каждое устройство в br0 по IP адресу. Я использовал это руководство для установки моего маршрутизатора.
Я могу достигнуть Интернета и от LAN и от WI-FI. Также возможно проверить с помощью ping-запросов каждое устройство от консоли серверов. Но я не могу соединиться от одной части сети другому. Следовательно, мой принтер WI-FI может только управляться сервером а не клиентами.
Я могу подтвердить, что пакеты отправляются и достигают моста br0, но им не удается достигнуть интерфейса после моста. Это было протестировано с wireshark.
Конфигурация:
/etc/networking/interfaces
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/networking/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
Я нашел, умирают источник проблемы. Мой iptables ВПЕРЕД цепочка имел политику" ОТБРАСЫВАНИЕ " принятый.
мне была нужна модернизация моих правил iptables. Но я в основном сделал
iptables --policy FORWARD ACCEPT
, и это работало как очарование.
Сервер настроен для передачи пакетов, которые он получает? Попробуйте это:
sudo sysctl net/ipv4/ip_forward=1