На рынке сейчас огромное количество разнообразных маршрутизаторов (роутеров), с огромным количеством функции, но они в основном подходят для малых офисов и частных квартир и стоимость их довольна низкая. Но все кардинально меняется когда подключаешь крупные офисы, где нагрузка на роутеры довольно велика, соответственно стоимость таких устройств бьет по карману. Выходом может послужить Ваш старенький компьютер, в который можно докупить сетевые платы и wi-fi карточку и получить отличный роутер, который будет служить верой и правдой очень долгое время.
И так в предыдущих статьях, мы настроили DNS и DHCP server, собрали новое ядро с фаерволом и мостом.
Настройка DNS
Настройка DHCP
Настройка IPFW
Настройка WiFi
Пример
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether bc:5f:f4:64:5d:b7
hwaddr bc:5f:f4:64:5d:b7
inet 10.102.15.43 netmask 0xffffff00
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vr0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether 00:1c:f0:d1:1a:75
hwaddr 00:1c:f0:d1:1a:75
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (none)
status: no carrier
wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether e8:94:f6:4f:2f:7a
hwaddr e8:94:f6:4g:2f:9a
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: no carrier
У нас три сетевых платы:
re0 — смотрит в сторону провайдера (WAN)
vr0 — локальный интерфейс
wlan0 — wifi адаптер
Если Ваш адаптер не появляется в ifconfig. Возможно он просто выключен или FreeBSD не поддерживает данный адаптер.
Ишем wifi адаптер
pciconf -vl | grep Wireless
device = ‘AR9227 Wireless Network Adapter’
Создаем интерфейс wifii
ifconfig wlan0 create wlandev ath0
Так как мы строим шлюз с wifi, то прописываем в rc.conf
#wifi
hostapd_enable="YES"
wlans_ath0="wlan0"
create_args_wlan0="wlanmode hostap"
ifconfig_wlan0="up ssid mywifi mode 11g channel 10 txpower 40"
Создаем файл hostapdnano /etc/hostapd.conf
nano /etc/hostapd.conf
interface=wlan0
debug=4
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=mywifi
wpa=2
wpa_passphrase=Ваш пароль
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
macaddr_acl=0 фильтрация по mac адресам (По умолчанию выключена)
Включаем фильтрацию по mac
macaddr_acl=1 accept_mac_file=/etc/accept_mac
Настроим Мост (bridge0)
Объединяем два физических интерфейса
Прописываем
nano /etc/rc.conf
#bridge
cloned_interfaces="bridge0"
ifconfig_bridge0="inet 192.168.9.1 netmask 255.255.255.0 addm vr0 addm wlan0 up"
На интерфейсе vr0 прописывать ничего не надо, как и на wlan0
! При настройке DHCP в rc.conf интерфейс нужно указывать bridge0
Перезагружаем машину
reboot
После перезагрузки наблюдаем
ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether bc:5f:f4:64:5d:b7
hwaddr bc:5f:f4:64:5d:b7
inet 10.102.15.43 netmask 0xffffff00
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vr0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether 00:1c:f0:d1:1a:75
hwaddr 00:1c:f0:d1:1a:75
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (none)
status: no carrier
wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether e8:94:f6:4f:2f:7a
hwaddr e8:94:f6:4f:2f:7a
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: running
ssid freebsdap channel 10 (2457 MHz 11g) bssid e8:94:f6:4f:2f:7a
regdomain 32924 country CN indoor ecm authmode WPA2/802.11i
privacy MIXED deftxkey 2 TKIP 2:128-bit TKIP 3:128-bit txpower 20
scanvalid 60 protmode CTS wme burst dtimperiod 1 -dfs
groups: wlan
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 02:be:20:6c:a6:00
inet 192.168.9.1 netmask 0xffffff00 broadcast 192.168.9.255
nd6 options=9<PERFORMNUD,IFDISABLED>
groups: bridge
Посмотреть клиентов подключенных можно командой
less /var/db/dhcpd/dhcpd.leases
Теперь Мы можем пользоваться своим роутером. Удачи.