Это очень актуально писать, как сделать что-то очень нужное в стабильной операционной системе в те дни, когда до её заката осталось всего ничего…
Настройка раздачи инета через wifi под Debian 7…
Вот как я это делаю:
/etc/networking/interfaces:
=======================
# The primary network interface
auto eth0
iface eth0 inet static
###iface eth0 inet dhcp —если этот интерфейсполучает адрес по dhcp
address —статический адрес
netmask —маска
gateway —шлюз по умолчанию
dns-nameservers —DNSы через пробел не более 3 шт
dns-search —имя домена, если есть
up ip route add сеть/маска via шлюз —если нужен статический маршрут или несколько 🙂
# Wireless network adapter
allow-hotplug wlan0
iface wlan0 inet manual
# New bridge interface
auto br0
iface br0 inet static
address —статический адрес беспроводного интерфейса
netmask —маска беспроводного интерфейса
bridge_ports wlan0 —если надо в параллель с беспроводкой ещё и «проволочку», дописать сюда через пробел имя сетевого интерфейса
=======================
В /etc/rc.local дописываем где-то до строки «exit 0»:
=======================
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j SNAT —to-source здесь пишем ip адрес «внешнего» сетевого интерфейса
=======================
Кроме этого, надо сказать ядру, что нужно перекладывать пакеты из одного сетевого интерфейса в другой в файле /etc/sysctl.conf:
=======================
net.ipv4.ip_forward=1
=======================
И применить эту настройку командой sysctl -p
Здесь надо отвлечься на рассуждения о том, а будет ли эта команда заворачивать в инет только трафик из внешней сетки, или ваш сосед, сидящий с вами у провайдера на одном свитче, напишет ваш внешний ip маршрутом по умолчанию и так же будет ходить в инет? Честно говоря, этого я не пробовал. Но читал, якобы, это возможно.
В файлике /etc/dnsmasq.conf находим, раскомментируем и пишем:
=======================
…
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
interface=br0
…
# Uncomment this to enable the integrated DHCP server, you need
# to supply the range of addresses available for lease and optionally
# a lease time. If you have more than one network, you will need to
# repeat this for each network on which you want to supply DHCP
# service.
dhcp-range=начальный ip,конечный ip,маска,время жизни
…
=======================
В файле /etc/default/dnsmasq исправляем строку:
=======================
ENABLED=1
=======================
В файле /etc/default/hostapd тоже:
=======================
RUN_DAEMON=»yes»
DAEMON_CONF=»/etc/hostapd/hostapd.conf»
=======================
Ну и сам конфиг /etc/hostapd/hostapd.conf вот такой:
=======================
interface=wlan0
driver=nl80211
country_code=GB
ieee80211d=1
hw_mode=g
channel=номер канала здесь
ssid=имя точки доступа здесь
bridge=br0
preamble=1
ignore_broadcast_ssid=1—единица — скрытая точка, ноль — открытая
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
wpa_passphrase=пароль написать здесь
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
internet=1
=======================
Установить пакет firmware для вашей беспроводной карточки. Название производителя можно узнать из документации или из вывода команды dmesg|less
Может, я и не прав, но это, похоже, всё.