uvtnetSERVERS
Obsah
- virtual_server_SITEL
- 10.111.1.2 dtto IP_10.111.1.11
- 10.111.1.11 server DNS, NTP
- 10.111.1.12 Dude
- 10.111.1.13 centreon
- 10.111.1.14 centeon 2
- 10.111.1.15 zabbix_2
- 10.111.1.16 radius postgres 1
- 10.111.1.17 smtp2.uvt.cz
- 10.111.1.18 radius login mikrotik
- 10.111.1.19 ngix web server zabehlice
- 10.111.1.20 ngix web server zabehlice
- 10.111.1.24 Windows 8.1
- 10.111.1.25 Windows 7
- 10.111.1.26 zabbix_1 (tady bezel)
- 10.111.1.27 IPTV_Analyzer_frontend+collector
- 10.111.1.30 eSight server - Windows
- 10.111.1.31 mapping.uvtnet.cz
- virtual_server_CASABLANCA
- virtual_server_Zdimerice
virtual_server_SITEL
Základní deska - SUPERMICRO MBD-X9DRW-3F-O,
Procesor - Intel Xeon E5-2620V2?, 2,1GHz,Six Core, 15MB
Paměť - Kingston 8GB 1600MHz DDR3 ECC Reg CL11 DIMM SR x4 Hynix A 4x
Pevný disk - WD VelociRaptor? WD1000DHTZ 1TB, 64MB, 10 000 rpm, 2.5" v 3.5" rámu 2x
IPMI
| 109.205.72.205 | uvtadmin | 1:FygAAx9tHTM0CWgNDSIbLFo= | ||
10.111.1.1 GATEWAY pro servery zakoncena na m2. VLAN95
10.111.1.2 dtto IP_10.111.1.11
10.111.1.11 server DNS, NTP
- verejna IP 178.17.8.55
- krom master adresy 10.111.1.11 je na tomto stroji jeste IP 10.111.1.2 a 10.100.251.2
SSH port 1002 z kanclu
| root | 1:n4+IgJ+0oKX8+84= | |||
10.111.1.12 Dude
- verejna IP 178.17.2.96
- tady ten server si poresi UVTnet
10.111.1.13 centreon
- verejna IP 178.17.8.59
| root | 1:CwoEAhEEBgEBBGM= | |||
| centreon | admin | 1:ysvFw9DFog== | ||
10.111.1.14 centeon 2
- vypnout pozdeji asi bude mozne smazat
10.111.1.15 zabbix_2
- prosim o spravu Zabehlice (zabezpeceni, pristup, aktualizace, sluzby)
10.111.1.16 radius postgres 1
| root | 1:vbapjpDKyr6++A== | |||
Na virtualnim stroji je nainstalovan Radius server s PostgreSQL backendem k tomu samozrejme PostgreSQL db ktera se replikuje na stroj 10.104.11.20, kde je databaze RO a proto tam nebezi vkladani do tabulky radpostauth.
dulezite konfiguraky Radiusu:
/etc/raddb/users - upravuje chovani pro nezname MAC adresy a nezname jmena PPPoE (user DEFAULT)
/etc/raddb/sql.conf - konfigurace pripojeni SQL backendu
/etc/raddb/clients.conf - konfigurace tykajici se Radius klientu v siti
/etc/raddb/sql/postgresql/dialup.conf - nastaveni SQL dotazu do db
/etc/raddb/sites-enabled/default - zapinani ruznych modulu pro jednotlive casti procesu autorizace plus jedna podminka, ktera v pripade, ze v odpovedi neni IP adresa, prida do odpovedi MT-Rate-Limit=2m. //uz neni pravda, kvuli mereni je toto zakomentovane.
Podminka:
#if(!"%{reply:Framed-IP-Address}"){
# update reply {
# Mikrotik-Rate-Limit := 2m
# }
#}
Mikrotik DHCP server odesle pozadavek ukazka:
rad_recv: Access-Request packet from host 178.17.4.204 port 59192, id=24, length=121
NAS-Port-Type = Ethernet
NAS-Port = 2211446797
Calling-Station-Id = "1:0:1f:16:19:f3:43"
Called-Station-Id = "dhcp2"
User-Name = "00:1F:16:19:F3:43"
User-Password = ""
NAS-Identifier = "kanc.nastole_DHCP"
NAS-IP-Address = 10.104.10.250
Radius nasledne pozadavek autorizuje protoze v souboru users je zaznam DEFAULT ktery vyhovuje vsem dotazum a nastavi vychozi parametry pro odpoved, nasledne se radius podiva do db a pokud najde zaznam, ukazka:
22 00:1F:16:19:F3:43 Mikrotik-Rate-Limit = 6m 23 00:1F:16:19:F3:43 Framed-IP-Address = 10.104.100.10
prenastavi nebo doplni atributy odpovedi, ukazka:
Sending Access-Accept of id 24 to 178.17.4.204 port 59192
Mikrotik-Rate-Limit = "6m"
Framed-IP-Address = 10.104.100.10
Session-Timeout = 30
a odesle zpet a na hlavnim radiusu se zapise radek do tabulky radpostauth ukazka:
[sql] expand: INSERT INTO radpostauth (username, pass, reply, calledstationid, callingstationid, authdate) VALUES ('%{User-Name}', '%{NAS-Identifier}', '%{Framed-IP-Address}','%{Called-Station-Id}','%{NAS-IP-Address}', NOW()) -> INSERT INTO radpostauth (username, pass, reply, calledstationid, callingstationid, authdate) VALUES ('00:0C:42:A5:9E:99', 'kanc.nastole_DHCP', '','dhcp2','10.104.10.250', NOW())
rlm_sql (sql) in sql_postauth: query is INSERT INTO radpostauth (username, pass, reply, calledstationid, callingstationid, authdate) VALUES ('00:0C:42:A5:9E:99', 'kanc.nastole_DHCP', '','dhcp1','10.104.10.250', NOW())
Mikrotik tedy bud obdrzi pouze rychlost a lease-time pro docasne servisni pripojeni nebo obdrzi navic konktertni IP s rychlostnim profilem a casem vypujcky podle tarifu
zaroven se tedy automaticky vytvari queue v /ip queue podle odpovedi radiusu.
Dale se trochu zamerim na nastaveni mikrotika jako takoveho. Na funkci DHCP autorizace jako celku se podili nekolik soucasti:
1) DHCP server - prikladna konfigurace:
/ip dhcp-server add add-arp=yes address-pool=dhcp_pool1 disabled=no interface=10.DHCP_AP lease-time=30s name=dhcp1 use-radius=yes /ip dhcp-server network add address=10.103.26.0/24 comment="hotspot network" gateway=10.103.26.1 /ip pool add name=dhcp_pool1 ranges=10.103.26.200-10.103.26.254
dulezite od vychoziho nastaveni je add-arp=yes (prida zaznam do ARP tabulky pro danou dvojici MAC+IP - popisu nize) a use-radius=yes (pro DHCP reqest se nejprve zepta radiusu, jestli o MAC neco nevi, pokud ano vraci atributy - popsano vyse)
2) interface - ARP:
napr, pokud je DHCP server pusten na VLAN:
/interface vlan add arp=reply-only interface=ether1_uplink l2mtu=1594 name=10.DHCP_AP vlan-id=10
je nastaveno arp=reply-only coz znamena, ze informaci o sve IP a MAC adrese rozesila ale sam si informace o ostatnich neuklada, takze pokud neni ARP zaznam staticky definovany tak klient nekomunikuje - jedna se o nizkourovnove zabezpeceni proti koumakum, co by si chteli nastavit IP rucne, samozrejme podvrzenou MAC adresu to neresi ale to neresil ani hotspot.
Takze pokud je potreba nejake zarizeni, jak jsme zvykli z hotspotu "bypassnout", je potreba pro nej vytvorit staticky ARP zaznam a radne okomentovat nebo doresit v opentisu a radiusu, priklad staticky pridaneho zarizeni:
/ip arp add address=10.103.26.100 comment=rocket1 interface=10.DHCP_AP mac-address=00:27:22:B4:F2:9D
dulezita cast je firewall:
/ip firewall address-list #stejne jako poolech kde ma bezet DHCP jsou v listu "dhcp" vyjmenovane rozsahy: add address=10.104.100.220-10.104.100.250 list=dhcp add address=10.104.101.220-10.104.101.250 list=dhcp #dale jsou vyjmenovany povolene IP v listu "dhcp_allowed" add address=109.205.75.37 comment=internet.uvt.cz list=dhcp_allowed add address=10.111.1.21 comment=rozcestnik list=dhcp_allowed add address=178.17.1.74 comment=opentis list=dhcp_allowed add address=178.17.3.89 comment=rychlost.uvt.cz list=dhcp_allowed /ip firewall filter add action=jump chain=forward comment="klienti z docasneho rozsahu do chain notauth" jump-target=notauth src-address-list=dhcp add chain=notauth comment="povoleni DNS" dst-port=53 protocol=udp add chain=notauth comment="povoleni DNS" dst-port=53 protocol=tcp add chain=notauth comment="povoleni http ze seznamu" dst-address-list=dhcp_allowed dst-port=80 protocol=tcp add chain=notauth comment="povoleni https ze seznamu" dst-address-list=dhcp_allowed dst-port=443 protocol=tcp add action=drop comment="vse ostatni zakazano" chain=notauth add chain=forward comment=__DHCP_rules_end__ disabled=yes /ip firewall nat add action=jump chain=dstnat comment="klienti z dhcp rozsahu do chain noauth" jump-target=notauth src-address-list=dhcp add chain=notauth comment="povolene adresy" dst-address-list=dhcp_allowed dst-port=80 protocol=tcp to-addresses=109.205.75.37 to-ports=8888 add chain=notauth comment="povolene adresy" dst-address-list=dhcp_allowed dst-port=443 protocol=tcp to-addresses=109.205.75.37 to-ports=8888 add action=dst-nat chain=notauth comment="presnerovani na rozcestnik" dst-port=80 protocol=tcp to-addresses=10.111.1.21 to-ports=80 add chain=srcnat comment=__DHCP_rules_end__ disabled=yes
Pro PPPoE musi byt nastaveno:
/ppp aaa set accounting=no use-radius=yes
Spolecne nastaveni pro PPPoE i DHCP:
/radius add address=10.111.1.16 secret=XXXXXXXX service=ppp,dhcp add address=10.104.11.20 secret=XXXXXXXX service=ppp,dhcp
| secret pro radius klienta | 1:9Ojt6Ob2/+/w7uyppp4= | |||
priklady zapisu hodnot do tabulek pro klienty:
tabulka radcheck:
| username | attribute | op | value | poznamka |
| 00:00:DE:AD:BE:EF | Auth-Type? | := | Accept | //pro DHCP klienta |
| jindra | Cleartext-Password? | := | hesloheslo1 | //pro PPPoE klienta |
tabulka radreply:
| username | attribute | op | value | poznamka |
| 00:00:DE:AD:BE:EF | Mikrotik-rate-Limit? | := | 2M/10M | //DHCP |
| 00:00:DE:AD:BE:EF | Session-Timeout? | := | 120 | //DHCP |
| 00:00:DE:AD:BE:EF | Framed-IP-Address | := | 10.180.180.180 | //DHCP |
| jindra | Framed-IP-Address | := | 10.0.0.111 | //PPPoE |
| jindra | Mikrotik-Rate-Limit | := | 20m/80m | //PPPoE |
10.111.1.17 smtp2.uvt.cz
- verejna IP 178.17.2.18
SSH port 10002 z kanclu
| root | 1:Swd7elwIBnNtBlIIZk5fVVpZRkY+ | |||
10.111.1.18 radius login mikrotik
bezi tam tandem pgsql+freeradius. do pgsql je ve firewallu povolen opentis.
| root | 1:CAkXH1NfUR0ADwRn | |||
10.111.1.19 ngix web server zabehlice
10.111.1.20 ngix web server zabehlice
zde bezi stranka + dns server pro neplatice
na routeru (M1 nebo J1R) je prefix list s neplatici, pokud je IP v listu, je provoz routovan na IP 10.111.1.20 kde bezi zachytny NAT + DNS server s "catch-all" zonou, ktera vraci na vsechny pozadavky jedno IP, kde bezi informacni stranka.
| root | 1:bl1sVh8dHR0v | |||
kombinace nginx a php-fpm
nastaveni jednotlivych aliasu: /etc/nginx/conf.d/neplatic.conf
IP alias 10.111.1.19
zde bezi http redirect 302 na 10.111.1.20. sem je zanatovat http provoz od neplaticu.
IP alias 10.111.1.21
zde bezi stranka pro rozcestnik DHCP serveru.
IP alias 10.111.1.22
zde bezi stranka v cestine, anglictine a translatorem prelozene rustine s upozornenim, že klientuv router neni prepnuty na DHCP ziskani IP adresy
po kliknuti na pokracovat je klient presmerovan na 10.111.1.23
IP alias 10.111.1.23
pouze zde probehne presmerovani na seznam.cz a mikrotik IP adresu zakaznika prida do address-listu, ze si upozorneni zobrazil
Do firewallu v mikrotiku jsou staticky pridavane adresy do listu "conn_reminder". Tyto adresy jsou pote pri pristupu kamkoliv na port 80 presmerovany na 10.111.1.22. Na teto strance pri kliknuti na pokracovat jsou presmerovani na 10.111.1.23 a pote na seznam.cz a pri dst-address 10.111.1.23 jsou i pridani do listu "has_seen_reminder".
Adresy v listu "has_seen_reminder" jsou akceptovany pro plnou funkcnost po jeden den od shlednuti pripominace a adresy v listu "conn_reminder", ktere nejsou v prvnim listu nemaji do odkliknuti pristum na port 80.
Konfigurace firewallu mikrotiku:
/ip firewall filter add action=add-src-to-address-list address-list=has_seen_reminder \ address-list-timeout=1d chain=forward comment="DHCP helper" dst-address=\ 10.111.1.23 dst-port=80 protocol=tcp src-address-list=conn_reminder /ip firewall nat add chain=dstnat comment=DHCP_helper src-address-list=has_seen_reminder add chain=dstnat dst-address=10.111.1.23 add action=dst-nat chain=dstnat dst-port=80 protocol=tcp src-address-list=\ conn_reminder to-addresses=10.111.1.22 to-ports=80
Přidání klienta do listu na připomínání:
/ip firewall address-list add address="adresa pro pripominani" list=conn_reminder
Pri provedene vypujcce se provede script, ktery najde cyklem vsechny zaznamy v address-listu se souhlasici vypujcenou adresou a platnym alespon jednim z nazvu listu "conn_reminder" a "has_seen_reminder" a zaznamy smaze, aby klient nebyl dale upozornovan na spatnou konfiguraci
Mikrotik DHCP server lease script(za poslední slozenou zavorkou je nutny ENTER, kdyz tam neni novy radek tak se script neprovadi):
:global leaseActIP
:foreach addrToDelete in=[/ip firewall address-list find where address=$leaseActIP and (list="conn_reminder" or list="has_seen_reminder")] do={
ip firewall address-list remove $addrToDelete}
10.111.1.24 Windows 8.1
10.111.1.25 Windows 7
| Administrator | 1:zu/hx/ThtLOG | |||
| sluzba | 1:aWhmR1hJTE5PExQh | |||
10.111.1.26 zabbix_1 (tady bezel)
- nechat zatim vypnutej
10.111.1.27 IPTV_Analyzer_frontend+collector
10.111.1.30 eSight server - Windows
zakazka MW04
10.111.1.31 mapping.uvtnet.cz
Nejaky Debian kvuli vykazum CTU zakazka VN39
| root | 1:Xn5qeX56djV8eQw= | |||
je tam routovana IP 178.17.2.199 z Juniperu
virtual_server_CASABLANCA
109.205.76.228 smtp.uvt.cz
SSH port 10002 z kanclu
| root | 1:Swd7elwIBnNtBlIIZk5fVVpZRkY+ | |||
virtual_server_Zdimerice
10.104.11.10 Hostitelsky KVM server
SSH: port 22
| root | 1:blldXAkOCVZKTUE7 | |||
pristup pres VNC na portech 5900 a po jednom dale (dynamycky prirazene)
| Heslo: | 1:quvqrq7Q2MmZ | |||
192.168.14.254 VLAN 10 Win8 (kamery) !!
10.104.11.20 Radius Postgres Backup
SSH port 10002
| root | 1:/OLsuL2zz+T7ig== | |||
V podstate uplne stejne jako radius1 na IP 10.111.1.16 jen s rozdilem, ze db je RO a radius do ni nezapisuje zaznam po tom, co zasle odpoved. Opentis si tedy data bere vyhradne z masteru a pocita se s tim, ze na backup to pojedou dotazy jen v pripade havarie.
10.104.11.21 Backup PC
| root | 1:VFVrQw4DDgNTWDs= | |||
10.104.11.22 Dude
verejna IP: 178.17.2.33
DNS dude2.uvt.cz