Podstawowa konfiguracja OpenWrt
Zbiór podstawowych poleceń pozwalających na konfigurację OpenWrtOstatnia zmiana: 2013-04-17 14:51
1. Strefa czasowa
2. USB storage
3. Zabezpieczanie WiFi
4. Włączenie obsługi 12 i 13 kanału
5. Klonowanie adresu MAC
6. Otworzenie portu ze strony wan
7. Przekierowanie portu na inny komputer
8. Dodanie nazwy hosta
9. Dodanie hosta do static dhcp
10. Podbijanie TTL (TTL + 1)
11. Inny DNS lub gateway dla klientów dhcp
12. Blokada dostępu do internetu
13. Logowanie zdarzeń systemowych do pliku
14. Logowanie zdarzeń systemowych do zdalnego serwera syslog
15. VPN passthrough
15.1. IPSec
15.2. PPTP
16. DMZ
Po zainstalowaniu (i ew czyszczeniu pamięci) router jest już pełni funkcjonalnym urządzeniem:
- router ma ustawiony adres (od strony lan) 192.168.1.1
- port wan oczekuje pobrania adresu z dhcp
- do portów lan można wpiąć już komputery - działa tam dns cache oraz serwer dhcp przydzielający adresy z określonego zakresu
- domyślnie wyłączona jest sieć wifi - nie można podłączyć się do rutera przez wifi
- brak hasła administracyjnego - trzeba je ustawić logując się telnetem do rutera lub z gui (LuCI)
Wystarczy więc wpiąć go z jednej strony np. do modemu kablówki czy modemu adsl w wyjściem RJ45, podłączyć komputer przy pomocy kabla do portu LAN rutera i wszystko powinno działać prawidłowo.
UWAGA1 po każdym restarcie rutera a przed instalacją nowego pakietu trzeba zrobić opkg update!
UWAGA2 po skonfigurowaniu danej usługi trzeba ją zrestartować lub wykonać restart rutera!
UWAGA3 większość rzeczy można wyklikać w gui, łącząc się z ruterem pod adresem http://192.168.1.1, o ile oczywiście używa się standardowego obrazu z openwrt.org lub zainstalowało się samodzielnie gui.
UWAGA4 po zmianie danych w firewallu wymagany jest restart routera lub samego firewalla: /etc/init.d/firewall restart
Strefa czasowa
# uci set system.@system[0].timezone=CET-1CEST,M3.5.0,M10.5.0/3
# uci commit system
USB storage
Wraz z obsługą systemu plików Ext2, Ext3, Ext4, Fat16/Fat32
# opkg install kmod-usb-core kmod-usb2 kmod-usb-storage
# opkg install kmod-fs-ext4
# opkg install kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
Dla Backfire do obsługi Ext2/Ext3 należy zainstalować pakiety kmod-fs-ext2 oraz kmod-fs-ext3.
Do obsługi NTFS należy zainstalować pakiet ntfs-3g
# opkg install ntfs-3g
Zabezpieczanie WiFi
Jeżeli nie chcemy mieć otwartego łącza wifi i użyczać sąsiadom internetu, należy odpowiednio włączyć zabezpieczenia. W pokazanym przykładzie ustawiamy:- nazwa sieci: moja_siec
- kanał: 6
- kodowanie: WPA2/PSK (AES)
- hasło: hackme12
Zakładam, że konfiguracja pliku /etc/config/wireless jest domyślna, więc niezbędne zmiany wyglądają tak (niezależnie od stosowanej karty i wersji jądra):
# uci set wireless.@wifi-device[0].disabled=0
# uci set wireless.@wifi-device[0].channel=6
# uci set wireless.@wifi-iface[0].ssid=moja_siec
# uci set wireless.@wifi-iface[0].encryption=psk2
# uci set wireless.@wifi-iface[0].key=hackme12
# uci commit wireless
# wifi
# uci set wireless.@wifi-device[0].hwmode=11ng
# uci set wireless.@wifi-device[0].htmode=HT20
# uci set wireless.@wifi-device[0].country=PL
# uci set wireless.@wifi-device[0].country_ie=1
# uci set wireless.@wifi-device[0].noscan=1
# uci add_list wireless.@wifi-device[0].ht_capab="HT40-"
# uci add_list wireless.@wifi-device[0].ht_capab="HT40+"
# uci commit wireless
# wifi
Włączenie obsługi 12 i 13 kanału
# uci set wireless.@wifi-device[0].country=PL
# uci commit wireless
Klonowanie adresu MAC
# uci set network.wan.macaddr=00:11:22:33:44:55
# uci commit network
# uci set wireless.@wifi-iface[0].macaddr=00:11:22:33:44:55
# uci commit wireless
Otworzenie portu ze strony wan
W tym przykładzie portu dla SSH. Tak samo robi się dla ftp'a, torrentów itd zainstalowanych NA ruterze
# uci add firewall rule
# uci set firewall.@rule[-1]._name=ssh
# uci set firewall.@rule[-1].src=wan
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].proto=tcp
# uci set firewall.@rule[-1].dest_port=22
# uci commit firewall
Przekierowanie portu na inny komputer
W tym przykładzie: port 15000 z wan na 192.169.1.100:15000 Np. w celu otworzenia portu dla klienta sieci torrent zainstalowanego na innym komputerze
# uci add firewall redirect
# uci set firewall.@redirect[-1]._name=torrenty
# uci set firewall.@redirect[-1].src=wan
# uci set firewall.@redirect[-1].proto=tcpudp
# uci set firewall.@redirect[-1].src_dport=15000
# uci set firewall.@redirect[-1].dest_port=15000
# uci set firewall.@redirect[-1].dest_ip=192.168.1.100
# uci commit firewall
...
# uci set firewall.@redirect[-1].src_dport=10000-30000
...
Dodanie nazwy hosta
# echo "192.168.1.100 malgosia" >> /etc/hosts
# uci add dhcp domain
# uci set dhcp.@domain[-1].name=malgosia
# uci set dhcp.@domain[-1].ip=192.168.1.100
# uci commit dhcp
# /etc/init.d/dnsmasq restart
Dodanie hosta do static dhcp
# echo "00:11:22:33:44:57 192.168.1.100" >> /etc/ethers
# uci add dhcp host
# uci set dhcp.@host[-1].mac=00:11:22:33:44:57
# uci set dhcp.@host[-1].ip=192.168.1.100
# uci commit dhcp
Podbijanie TTL (TTL + 1)
# opkg install kmod-ipt-ipopt iptables-mod-ipopt
# echo "iptables -t mangle -I PREROUTING 1 -i eth0.1 -j TTL --ttl-inc 1" >> /etc/firewall.user
# /etc/init.d/firewall restart
Inny DNS lub gateway dla klientów dhcp
# uci add_list dhcp.lan.dhcp_option="3,192.168.200.3"
# uci add_list dhcp.lan.dhcp_option="6,8.8.8.8,8.8.4.4"
# uci commit dhcp
# /etc/init.d/dnsmasq restart
Blokada dostępu do internetu
Sekcje config do umieszczenia w /etc/config/firewall.- blokowanie na podstawie IP komputera
# echo "iptables -I FORWARD 1 -p tcp -s 192.168.1.100 -j REJECT" >> /etc/firewall.user
# /etc/init.d/firewall restart
config rule
option src lan
option dest wan
option src_ip 192.168.1.100
option target REJECT
# echo "iptables -I FORWARD 1 -p tcp -m mac --mac-source 01:02:03:04:05:06 -j REJECT" >> /etc/firewall.user
# /etc/init.d/firewall restart
config rule
option src lan
option dest wan
option src_mac 01:02:03:04:05:06
option target REJECT
# echo "iptables -I FORWARD 1 -p tcp -d nasza-klasa.pl -j REJECT" >> /etc/firewall.user
# /etc/init.d/firewall restart
config rule
option src lan
option dest wan
option dest_ip 123.45.67.89
option target REJECT
- blokowanie komputera który zmienił adres ip
# echo "iptables -I FORWARD ! -s 192.168.1.100 -i br-lan -m mac --mac-source 01:02:03:04:05:06 -j DROP" >> /etc/firewall.user
# /etc/init.d/firewall restart
config rule
option src lan
option dest wan
option src_mac 01:02:03:04:05:06
option src_ip "! 192.168.1.100"
option target DROP
Logowanie zdarzeń systemowych do pliku
# uci set system.@system[0].log_type=file
# uci set system.@system[0].log_file=/mnt/sda1/logi.txt
# uci commit system
Logowanie zdarzeń systemowych do zdalnego serwera syslog
# uci set system.@system[0].log_ip=192.168.1.111 adres ip serwera syslog
# uci set system.@system[0].log_port=514
# uci commit system
# reboot
VPN passthrough
IPSec
(brak testów)/etc/config/firewall
#AH protocol
config rule
option src wan
option dest lan
option proto ah
option target ACCEPT
# ESP protocol
config rule
option src wan
option dest lan
option proto esp
option target ACCEPT
# ISAKMP protocol
config rule
option src wan
option dest lan
option proto udp
option src_port 500
option dest_port 500
option target ACCEPT
PPTP
# opkg install kmod-ipt-nathelper-extra
#GRE protocol
config rule
option src wan
option dest lan
option proto gre
option target ACCEPT
# PPTP
config rule
option src wan
option dest lan
option proto udptcp
option dest_port 1723
option target ACCEPT
DMZ
config redirect
option src wan
option proto all
option dest_ip 192.168.1.2
config redirect
option src wan
option proto 'tcp udp'
option src_dport 1-65535
option dest_ip 192.168.1.2