wariacje na temat konfiguracji sieci w OpenWrt
Ostatnia zmiana: 2017-01-22 07:01

Podstawowa konfiguracja OpenWrt opisana jest na w innym dokumencie, dostępny jest także dokument opisujący różne tryby pracy interfejsu radiowego. Ten dokument zawiera informacje o ogólnej konfiguracji sieci w różnych układach.

Założenia

Dla przypomnienia: standardową konfigurację sieci w OpenWrt można opisać następująco:
- interfejs wan: adres uzyskiwany z dhcp
- interfejs lan: adres ustawiony na stałe (192.168.1.1), działa na nim serwer DHCP i przydziela adresy z puli 192.168.1.100 - 192.168.1.249. Logicznie nazwany br-lan.
- interfejs wifi: połączony logicznie z interfejsem lan, klienci połączeni radiowo są w tej samej sieci co klienci podłączeni przy pomocy kabla.
- od strony wan ruter odpowiada na pingi (to jest jedna z różnic pomiędzy Kamikaze a Backfire)

Dla jasności przyjmujemy że interfejsy fizycznie nazywają się:
- wan: eth1
- lan: eth0 (i jest to de facto 4 portowy switch)
- wifi: wlan0

Poniżej zaprezentowano oczywiście wycinki plików konfiguracyjnych, te które należy dodać do domyślnej istniejącej konfiguracji

Rozdzielenie wifi i lan na osobne podsieci

Czyli klienci podłączeniu przez wifi dostają adres z innej puli adresowej. Do zmiany: dodanie nowej sieci, przypisanie interfejsu radiowego do tej nowej sieci, zdefiniowanie zakresu przydzielanych adresów oraz zezwolenie na routing pomiędzy sieciami.

/etc/config/network

Należy doprowadzić do wpisów dwóch sieci: lan - domyślna, w której będą klienci podłączani przez kabel (adres 192.168.1.1/24) i wlan - dodatkowa, w której będą klienci podłączani przez wifi (adres 192.168.2.1/24)


    config 'interface' 'lan'
        option 'ifname' 'eth0'
        option 'type' 'bridge'
        option 'proto' 'static'
        option 'ipaddr' '192.168.1.1'
        option 'netmask' '255.255.255.0'
    
    config 'interface' 'wlan'
        option 'ifname' 'wlan0'
        option 'type' 'bridge'
        option 'proto' 'static'
        option 'ipaddr' '192.168.2.1'
        option 'netmask' '255.255.255.0'

/etc/config/wireless

Tu po prostu należy wifi przypisać do nowej sieci


    config 'wifi-iface'
        option 'mode' 'ap'
        option 'network' 'wlan'
    ...

/etc/config/dhcp

Trzeba zdefiniować nowy zakres przydzielanych adresów. Zakładamy więc zakres 192.168.2.100 - 192.168.2.150 z czasem dzierżawy 1 godzina. Standardowa siec lan pozostaje bez zmian: 192.168.1.100 - 192.168.1.249.


    config dhcp lan
        option interface lan
        option start 100
        option limit 150
        option leasetime 12h

    config dhcp wlan
        option interface wlan
        option start 100
        option limit 50
        option leasetime 1h

/etc/config/firewall

Zostaje już tylko zezwolenie na połączenie z wifi do internetu ( wlan->wan )


    config zone
        option name wlan
        option network wlan
        option input ACCEPT
        option output ACCEPT
        option forward REJECT

    config forwarding
        option src wlan
        option dest wan

Przy takiej konfiguracji komputery połączone przez wifi mają dostęp do internetu, ale nie mogą się komunikować z komputerami połączonymi przez kabel. Jeżeli ma być to dostępne to dodatkowo dodajemy


    config forwarding
        option src lan
        option dest wlan	

    config forwarding
        option src wlan
        option dest lan

czyli wlan->lan i lan->wlan.

Przydzielenie komputerowi o znanym adresie MAC adresu IP

Mamy klika komputerów, adresy uzyskiwane są przez dhcp. Z jakiegoś powodu chcemy aby komputer o znanym adresie MAC uzyskiwał stały adres (jest to już opisane), ale z inny niż reszta z puli.
Jeżeli adresy przyznawane z puli to 192.168.1.100 - 192.168.1.249 czyli standardowa konfiguracja:


    config dhcp lan
        option interface lan
        option start 100
        option limit 150
        option leasetime 12h

to wystarczy po prostu przypisać mu w /etc/ethers (jeżeli nie mamy luci) lub w /etc/config/luci_ethers (jeżeli mamy luci zainstalowane) adres spoza puli adresowej, czyli


    # uci add luci_ethers static_lease
    # uci set luci_ethers.@static_lease[-1].macaddr='00:11:22:33:44:58'
    # uci set luci_ethers.@static_lease[-1].ipaddr='192.168.1.50'
    # uci commit luci_ethers

Wtedy wszystkie podłączane komputery będą uzyskiwać adresy z puli 192.168.1.100 - 192.168.1.249 a ten jeden znany dostanie 192.168.1.50.

Aliasy



    config alias
        option interface lan
        option proto    static
        option ipaddr   192.168.2.5
        option netmask  255.255.255.0

lub (w zależności od używanej wersji systemu)


    config interface lan2
        option ifname 'br-lan:1'
        option proto 'static'
        option ipaddr '192.168.2.5'
        option netmask '255.255.255.0'

Obsługiwane jest tylko static, tym przypadku utworzy się br-lan:1. Aliasy tworzą się w kolejności wpisów w pliku konfiguracyjnym.

Trasy (route)



    config route vpn
        option interface lan
        option target 172.129.0.0
        option netmask 255.255.255.0
        option gateway 172.129.0.1

Jest to to samo co polecenie:


    route add -net 172.129.0.0 netmask 255.255.255.0 gw 172.129.0.1 dev br-lan

VLAN



    config 'switch' 'eth0'
        option 'reset' '1'
        option 'enable_vlan' '1'

    config 'switch_vlan' 'eth0_1'
        option 'device' 'eth0'
        option 'vlan' '0'
        option 'ports' '0 1 3 5t'

    config 'switch_vlan' 'eth0_1'
        option 'device' 'eth0'
        option 'vlan' '1'
        option 'ports' '4 5'

    config 'switch_vlan' 'eth0_2'
        option 'device' 'eth0'
        option 'vlan' '2'
        option 'ports' '2 5'