Как сказал Спифф, интерфейсы станций WiFi (в отличие от интерфейса точек доступа) не могут быть соединены.
Однако есть более основная проблема: SIP не «совместим» с маршрутизаторами NAT. Скорее всего, у вас возникнут проблемы, такие как не слышать другой конец или наоборот, телефон может не звонить при входящих вызовах и так далее. Я предлагаю вам просто отказаться от этой идеи.
Если вы настаиваете на продолжении, есть несколько вариантов. Во-первых, вы можете создать псевдомост, используя «relayyd». Это описано на этой вики-странице OpenWRT . Однако получить relayyd не совсем просто: вам нужно получить исходный код из проекта OpenWRT и скомпилировать relayyd самостоятельно.
Вы бы использовали это так:
relayd -I eth0 -I wlan0 -B -D
Вам может потребоваться указать дополнительные параметры для поддержки сетевого подключения ноутбука.
К сожалению, мне не удалось настроить релейд в моей последней попытке. Он просто продолжал рассылать спам по сети ARP-запросами, не пересылая DHCP-ответы.
Далее вы можете идти полностью разгромленным. Просто включите маршрутизацию на своем ноутбуке и, возможно, установите DHCP-сервер для обслуживания проводной сети. Однако вам также необходимо настроить маршрут к вашей проводной сети на «реальном» маршрутизаторе, используя ваш ноутбук в качестве шлюза. Так что, если вы не можете контролировать эти настройки, это не нужно.
Наконец, вы можете превратить свой ноутбук в маршрутизатор NAT. Это, вероятно, сделает проблемы, указанные выше, еще хуже. Однако это не требует изменений в «реальном» маршрутизаторе. В Windows это называется «Общий доступ к подключению к Интернету».
В Linux вы просто включаете маршрутизацию и NAT:
Редактировать
/etc/sysctl.conf
, настройкаnet.ipv4.ip_forward = 1
Немедленно включите этот параметр:
echo 1 > /proc/sys/net/ipv4/ip_forward
Настройте MASQUERADE с помощью IPTables:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT