Я пытаюсь временно использовать Wi-Fi интернет-соединение на ноутбуке с настольным компьютером. Я установил мост между wlan0 и eth0 (называемый br0), получил адрес на br0 от dhcp и даже получил адрес от беспроводного маршрутизатора на ПК (Windows) с помощью dhcp. Компьютер может пропинговать ноутбук, но не пинговать роутер и не выходить в интернет. Есть ли шаг, который я пропускаю?
4 ответа
Возможно, таблицы маршрутов нуждаются в корректировке.
http://www.cyberciti.biz/faq/linux-route-add/
Каждая машина должна
а) знать, как связаться с другими машинами в той же сети
б) знать, как достичь всего остального (Интернет) через так называемый "шлюз"
Как указал Пол, таблицы маршрутизации должны были быть установлены правильно, потому что вы используете DHCP, но вы можете проверить.
Я тоже пробовал что-то похожее с мостом, но потом решил использовать 2-й NAT для подключения USB-устройства, поэтому мои настройки выглядят так
- роутер с NAT - настольный ПК с NAT - USB устройство
и это просто сделано с некоторыми правилами iptables на ПК.
Попробуйте очистить ваши правила iptables.
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Также очистите таблицу arp : arp -d *
К сожалению, некоторые беспроводные карты не поддерживают мостовое соединение. Для пересылки пакетов с проводной стороны моста беспроводному интерфейсу необходимо «подделать» MAC-адрес исходного хоста. Если карта (или драйвер) не может подделать пакеты, мост не будет работать.
Вы можете вместо этого использовать NAT или найти другое устройство Wi-Fi.
См. Http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge#It_doesn.27t_work_with_my_Wireless_card.21 для полного объяснения.