Legfrissebb bejegyzések

A mai rövid jegyzetemben megmutatom, miként lehet duplikált fájlokat keresni és törölni Linux alatt.

1. Alkalmazás telepítése: apt install fdupes
2. Duplikált fájlok keresése, lista mentése fájlba: fdupes -r . | tee fdupes.txt
3. Állományok méretének megtekintése szükség szerint: cat fdupes.txt | grep -v "^$" | while read f; do du -sh "$f"; done
4. Duplikált állományok törlése (legelső találat kivételével), lista mentése fájlba: fdupes -rdN . | tee fdupes_removed.txt

Legújabb cikkemben megmutatom, miként szokás egy SOHO Mikrotiket beállítani. A leírásban szereplő környezet a következőképp fog kinézni:

  • Az internetszolgáltató által adott eszköz bridge módban van, publikus IP címet kapunk a szolgáltatótól.
  • A Mikrotik eth1 interfészre lesz kötve az internetszolgáltató eszköze, a többire megbízható LAN eszközök lesznek felfűzve.
  • A választott eszköz WiFi képes, a WiFi-vel LAN és guest hálózatot is ki szeretnénk szolgálni. A szeparációt különböző IP subnetek használatával fogjuk megoldani (Guest: 192.168.88.0/25 | LAN: 192.168.88.128/25).
  • Bizonyos helyi hálózati szolgáltatásokat távolról is el szeretnénk érni, így port forwardokat is be fogunk állítani.

Unboxing

Töltsük le a WinBox alkalmazást innen, majd indítás után a Neighbors alatt válasszuk az eszközünk MAC címét, és kapcsolódjunk arra jelszó nélkül.

Első bejelentkezésnél a rendszer felajánlja, hogy a default konfigurációt eltávolíthatjuk. A konfiguráció eltávolítása után az alapvető hálózati beállításokat is törli az eszköz, így nem fog pl. DHCP-t szolgáltatni. Amennyiben az előzőeket tudomásul vettük, töröljük a default konfigurációt, és állítsuk be az alábbiak szerint szakszerűen az eszközt.

Első a biztonság!

Jelszóváltoztatás

Változtassunk jelszót a System \ Users menüpont alatt, és állítsuk be, hogy csak a 192.168.88.128/25 LAN hálózatból lehessen bejelentkezni azzal.
IP \ Services alatt winbox-on és SSH-n kívül többi elérés tiltása, a két elérést pedig korlátozzuk a LAN IP tartományra (192.168.88.128/25).

Menedzsment elérések korlátozása

Vigyázat! MAC cím alapján ettől függetlenül még lehetne az eszközhöz csatlakozni, úgyhogy az Intefaces \ Interface list \ Lists alatt hozzunk létre egy új listát (Name: LAN-ports), majd az Intefaces \ Interface list alatt vegyük fel a belső hálózati megbízható interfészeket (a példában: eth2-eth5) a LAN-ports listába. Ha kész vagyunk, a Tools \ MAC Server \ MAC Telnet Server és MAC WinBox Server alatt korlátozzuk a MAC cím alapú csatlakozását a LAN-ports csoportra, a MAC Ping szolgáltatást pedig kapcsoljuk ki.

Eszköz speciális szolgáltatásainak korlátozása

Az IP \ Neighbors \ Discovery Settings alatt állítsuk át az Interface beállítást "none"-ra.

A Tool \ BTest Server-t kapcsoljuk ki.

Alapvető hálózat kialakítása

Bridge kialakítása

Ahhoz, hogy a két különböző szeparált hálózat tagjai tudjanak csoportonként egymással beszélgetni, hozzunk létre egy-egy bridge interfészt a LAN és Guest hálózatunknak, és tegyük bele azokat a portokat, amiket a megbízható eszközök fogják kapni.
IP \ Bridge \ alatt új létrehozása:
Name: LAN-bridge MAJD
Name: GUEST-bridge
Az IP \ Ports alatt pedig az érintett portokat tegyük be a LAN-bridge-be.
Interface: eth2-eth5
Bridge: LAN-bridge
Guest hálózatot csak WiFi-n fogunk biztosítani, az ahhoz tartozó interfészeket még viszont később fogjuk kialakítani.

IP címek beállítása

Adjunk a két hálózatba egy-egy IP címet az eszköznek:
IP \ Address List alatt új létrehozása:
Address: 192.168.88.254/25
Interface: LAN-bridge MAJD
Address: 192.168.88.126/25
Interface: GUEST-bridge

DHCP szerverek beállítása

A következőkben létrehozunk egy-egy helyi DHCP kiszolgálót, hogy legyen IP címe az eszközöknek.

IP \ Pool alatt új pool létrehozása:
Név: LAN-DHCP-Pool
Addresses: 192.168.88.129-192.168.88.253 MAJD
Név: GUEST-DHCP-Pool
Addresses: 192.168.88.1-192.168.88.125

IP \ DHCP Server alatt új szerver létrehozása:
Név: LAN-DHCP
Interface: LAN-bridge
Lease time: 1 nap
Address Pool: LAN-DHCP-Pool
Authoritative: after 2s delay MAJD
Név: GUEST-DHCP
Interface: GUEST-bridge
Lease time: 1 óra
Address Pool: GUEST-DHCP-Pool
Authoritative: after 2s delay

Ahhoz, hogy megfelelő adatokat kapják meg a Mikrotik-től a klienseink, adjuk meg a szükséges adatokat.
IP \ DHCP Server \ Network alatt új hálózat létrehozása:
Address: 192.168.88.128/25
Gateway: 192.168.88.254
Netmask: 25
DNS Server: 8.8.8.8, 8.8.4.4 (vagy 192.168.88.254)
Comment: LAN-DHCP-Network MAJD
Address: 192.168.88.0/25
Gateway: 192.168.88.126
Netmask: 25
DNS Server: 8.8.8.8, 8.8.4.4 (vagy 192.168.88.254)
Comment: GUEST-DHCP-Network

Ha szeretnénk, egyéb paramétereket is megadhatunk (pl. rövid nevek felolvása a Domain alatt, NTP szerver, stb.).
Ezután menjünk vissza az IP \ DHCP Server fülre, és engedélyezzük a két DHCP-t
Később ha szeretnénk, az IP \ DHCP Server \ Leases alatt statikussá is tehetjük egy-egy kliensünk IP címét.

DNS szerverek beállítása

IP \ DNS
Adjunk meg külső DNS szerverek címét, ahova a lokális Mikrotik IP-re (192.168.88.126 és 192.168.88.254) beérkező kéréseket továbbítjuk.
Internetcsatlakozás után alapértelmezetten a felületen az internetszolgáltató által biztosított DNS szervereket látnunk kell majd.

Tűzfalszabályok

A következőkben alakítsuk ki a tűzfalszabályokat!

IP \ Firewall alatt új szabály létrehozása:

Csak Guest és LAN hálózatból válaszoljon ping-re a Mikrotik
General \ Chain: input
General \ Src. Address: 192.168.88.0/24
General \ Protocol: icmp
Action \ Action: Allow
Comment: Enable ping from LAN and Guest network

DNS-t is csak LAN és guest hálózatba biztosítunk, idegenek ne tudják azt DNS kiszolgálóként használni
General \ Chain: input
General \ Src. Address: ! 192.168.88.0/24
General \ Protocol: udp
General \ Dst. Port: 53
Action \ Action: Drop
Comment: DNS service only fo LAN and Guest clients

Guest és LAN hálózat szeparációja
IP \ Firewall \ Filter Rules
General \ Chain: Forward
General \ Src. address: 192.168.88.0/25
General \ Dst. address: 192.168.88.128/25
Action \ Action: Drop
Comment: Guest -> LAN separation

Hibás csomagok eldobása
General \ Chain: input
General \ Connection state: invalid
Action \ Action: Drop
Comment: Drop invalid packets in input chain

General \ Chain: forward
General \ Connection state: invalid
Action \ Action: Drop
Comment: Drop invalid packets in forward chain

Internetelérés

Szolgáltatói eszköz felengedése

Ha idáig eljutottunk, nincs más hátra, mint felengedni az internetkapcsolatot. A jelen példában használt szolgáltató eszközénél, amennyiben az bridge módban van, egyszerűen csak IP-t kell kérnünk.
Interfaces \ Interface \ ether1 alatt interfész nevének módosítása ether1-ISP-re.
IP \ DHCP Client alatt új kliens hozzáadása:
Interface: ether1-ISP
Leokézás után külön engedélyeznünk kell a klienst!

NTP szolgáltatás beállítása

Ha már van netünk, legyen NTP-nk is:
System \ SNTP Client
Enabled: pipa
Primary NTP Server: 0.hu.pool.ntp.org
Secondary NTP Server: 1.hu.pool.ntp.org

Eszköz frissítése

és persze frissítsük meg az eszközt:
System \ Packages
System \ RouterBOARD

Belső hálózat kiengedése internetre

Ha ezzel megvagyunk, engedjük ki a LAN és GUEST bridge interfészeken lógó eszközöket az internetre:
IP \ Firewall \ NAT
General \ Chain: srcnat
General \ Src. Address: 192.168.88.0/24
General \ Out Interface: ether1-ISP
Action \ Action: masquerade
Comment: LAN and Guest -> Internet

A következő azért kell, ha külsőleg elérhetővé teszünk egy szolgáltatást, azt belső hálózaton is ugyanazon a módon meg tudjuk szólítani:
General \ Chain: srcnat
General \ Src. Address: 192.168.88.0/24
Action \ Action: masquerade
Comment: LAN and Guest -> LAN and Guest via external domain

WiFi hálózat

És akkor kanyarodjunk rá a WiFi hálózatok kialakítására.
Wireless \ Security Profiles alatt új létrehozása:
Name: LAN-WiFi-Security
Mode: dynamc keys
Authentication Types: WPA2 PSK
WPA Pre-Shared Key: Tetszőleges jelszó MAJD
Name: GUEST-WiFi-Security
Mode: dynamc keys
Authentication Types: WPA2 PSK
WPA Pre-Shared Key: Tetszőleges jelszó

Ezután engedélyezzük a két különböző GHz-s interfészt (wlan1: 2.4GHz, wlan2: 5GHz) és állítsuk be rá a két különböző SSID-t és a két különböző security profile-t (a guest-hez létre kell majd hoznunk Virtual interfacet az említett menüpont alatt).
Wireless \ WiFi Interfaces \ wlan1 vagy wlan2 \
General \ name: wlan24GHZ-LAN vagy wlan24GHZ-GUEST vagy wlan5GHZ-LAN vagy wlan5GHZ-GUEST
Wireless \ | Engedélyezzük az Advanced Mode-ot
Wireless \ Mode: ap bridge
Wireless \ Band: 2GHz-B/G/N (2.4GHz esetén), 5GHz-A/N/AC (5GHz esetén)
Wireless \ Channel Width: 20/40MHz XX (2.4GHz esetén), 20/40/80MHz eeC (5GHz esetén)
Wireless \ SSID: HomeLAN vagy GuestLAN
Wireless \ Wireless Protocol: 802.11
Wireless \ Security Profile: LAN-WiFi-Security vagy Guest-WiFi-Security
Wireless \ WPS Mode: disabled
Wireless \ Installation: indoor
Wireless \ Country: hungary

Wireless \ A Frequency értéket most még hagyjuk default-on, de ha performanciaproblémákat észlelünk, lehet finomhangolni
Bridge \ Ports alatt LAN-os wlan-ok betevése a LAN-bridge-be, GUEST-esek pedig a GUEST-bridge-be.

Ezután engedélyezzük a wlan interfészeket a Wireless \ WiFi interfaces alatt.

Wireless \ WiFi Interfaces \ Freq. Usage alatt mérjük meg, melyik a legideálisabb csatorna, és állítsuk be azt az előbb említett helyen.

Menedzselés, monitoring

Email küldés

Levélküldés beállítása Tools \ Email alatt lehetséges.

Sebességproblémák esetén lehetőségünk van fasttrack kapcsolatokat engedélyezni:
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=established,related dst-address=192.168.88.0/24
add action=accept chain=forward connection-state=established,related

Távoli naplózás kialakítása

A távoli naplózáshoz szükségünk van egy szerverre. A következő lépéseket azon kell elvégezni:
apt install rsyslog
vi /etc/rsyslog.conf következő sorok elől komment eltávolítása:

module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")

Következő sorok hozzáadása az előbb említett legelső sor fölé:
$AllowedSender TCP, 127.0.0.1, 192.168.88.128/25

Következő sorok hozzáadása az először említett blokk legutolsó sora után:
$template remote-incoming-logs,"/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
& ~

mkdir /var/log/rsyslog
chown syslog:adm /var/log/rsyslog

service rsyslog restart

A Mikrotik oldalon pedig a következő konfigurációkat végezzük el:
System \ Logging \ Actions \ remote szerkesztése:
Remote: 192.168.88.200
Src. Address: 192.168.88.254
System \ Logging \ Actions \ alatt email típusú akció felvétele
System \ Logging \ Rules alatt új szabályok felvétele, amivel kapcsolatban a távoli szerverre naplózást és az email küldést szeretnénk triggerelni.

Mentési környezet kialakítása

A távoli szerveren hozzunk létre egy ssh-kulcsot (ha még nem rendelkeznénk ilyennel): ssh-keygen -t rsa -b 4096

A /root/.ssh/id_rsa.pub fájl tartalmát töltsük fel a Mikrotikra (Files menüpont).
System \ Users \ SSH Keys \ Import SSH Key <- kulcs beimportálása (a fájlt ezután törölhetjük a Files menüpont alatt)

Ezután a szerverre másoljuk fel a következő szkriptet:

/usr/local/sbin/mikrotikbackup.sh
#!/bin/bash
backupdir=/srv/backup/mikrotik
mkdir -p $backupdir
cd $backupdir
fn=$(date +"%Y-%m-%d_%H:%M")
ssh admin@192.168.88.254 -i /root/.ssh/pwless_rsa "/system backup save name=\"$fn\" password=JELSZóHELYE"
sftp -i /root/.ssh/pwless_rsa admin@192.168.88.254:/$fn.backup .
ssh admin@192.168.88.254 -i /root/.ssh/pwless_rsa "/file remove \"$fn.backup\""
if [ -s $fn.backup ]; then
echo "$fn Backup kesz"
else
echo "$fn Backup sikertelen"
fi

Majd tegyük futtathatóvá a szkriptet és ütemezzük be azt minden éjjel 01:15-re:

chmod +x /usr/local/sbin/mikrotikbackup.sh
echo "15 1 * * * /usr/local/sbin/mikrotikbackup.sh" >> /etc/cron.d/mikrotikbackup


A fentiek szerint egy alapjában jól konfigurált eszközt tudhatunk magunkénak. Nincs más hátra, mint rendszeresen frissíteni a szoftvert, és kialakítani azon szabályokat, amiket itt nem mutattunk be.

Az alábbi pár parancs kiadásával meg tudod tekinteni a Debian-os szerveredben lévő diszkek állapotát az esetben, ha azok RAID kártya mögött vannak.


Ezen fájl letöltése, felmásolása az adott szerverre.

apt install alien smartmontools
unzip 8-07-14_MegaCLI.zip
cd Linux
alien MegaCli-8.07.14-1.noarch.rpm
dpkg -i megacli_8.07.14-2_all.deb
cd /opt/MegaRAID/MegaCli/
./MegaCli64 -pdlist -a0| grep Device Id
smartctl -a -d megaraid,N /dev/sdN