Hostapd, dnsmasq és környéke

Fórumok

Adva van egy Fedora 20-as host, szeretnék infrastruktúra módban access pointot csinálni belőle. Ameddig eljutottam:

- NetworkManager nem kezeli az illető wireless interface-t (ez most eredmény, így jó)
- hostapd elindul, alacsony szintű kezelés, WPA rendben van

Ami hiányzik:

- dnsmasq megfelelő konfigurálása
- tűzfal beállítása, talán 53-as és 67-es portok beengedése
- IP forwarding
- NAT

Mindehhez nehezítés, hogy nem szeretnék iptables-szel élni, jó volna megtartani a Fedora firewalld cuccait, tehát valahogy a firewall-config, vagy valami olyan eszköz használatával volna jó, amivel nem borul a konzisztens tűzfalkezelés.

Valaki, aki jártas Fedora eszközeiben és hálózatokban, tud segíteni?

Hozzászólások

Úgy látom, senkit sem érintett meg a téma. :(

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Én Debianon megcsináltam már pont ugyanezt. Van konkrét kérdés? Egyébként tűzfal téren már az iptables is obsolete lesz lassan, helyette nftables.

--

Szervusz!

Ubuntu alatt egy otthoni kis serveren valósítottam meg wifi kártyán master mode - ot. A bridge-utils csomag telepítésével létrehoztam egy br0 nevű bridge - et, ami a serveremnek a LAN felé néző vezetékes (eth1) és wifi (wlan0) portjait fogja össze (később az OpenVPN interface is a br0 - hoz lett hozzáadva). A /etc/networking/interfaces (a Te distribúciódban kicsit máshol lehet) van definiálva a br0 IP címe (192.168.1.1), netmask, stb. A dnsmasq - nál nem kellett semmi extra beállítás, a 192.168.1.5 - 192.168.1.255 tartományban ad IP címeket. Ha valahol definiálva volt az eth1, akkor helyette br0 kell. Az iptables - ben a lényeg a WAN portra (eth0) vonatkozó INPUT lánc. FORWARD szabály nemigen volt nekem. Volt még valami sysctl file, ahol valami ilyesmit kellett bekapcsolni ipv4_forward. Az iptables - ben az eddigi eth1 helyett br0 - ra kell még NAT - ot beállítani, ehhez a masquerade a google kulcsszó. Remélem, ez segít. Ha szükséges, este otthonról küldhetek konkrét config file - okat is.

Nagyon meg szeretném csinálni, érdekel, csak időm nem nagyon van. Leírást is találtam a neten. A gondom abból van, hogy a Fedorának van egy firewalld nevű eszköze, kezel színesen-szagosan mindenféle zónát, lehet fixen, illetve csak a mostani futás alkalmával ideiglenesen állítani szabályokat. Nem szeretnék ennek alátenni közvetlenül a kernel táblázatainak iptables-szel történő piszkálásával. Jó volna úgy csinálni, hogy a firewalld tudjon arról, amit csinálok, és a szükséges szabályok be legyenek állítva. Mindez scriptelhetően volna jó.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nekem fedora-m nincs éppen, de 3 perc wiki alapján nem egy rocket science (google://fedora firewalld forwarding). A firewalld cli-n keresztül is nyesztethető, szóval script-elhető is.

A többi se tűnik túl sárkányosnak, szerintem egy google://hostapd+dnsmasq alapján ki lehet találni hogy mit kellene beállítani. Pontosan hol akadtál el?

Köszönöm a segítséget, ha konkretizálódik a nyavalyám, jelzem. :) Nyilván azért is ingovány ez nekem, mert az elektronika közelebb áll hozzám, mint a tűzfalszabályok. Konkrétabb leszek: erős hiányosságaim vannak a tűzfalszabályokat illetően. Már a sorce, destination vonatkozásában sem tudom, honnan nézve forrás és cél valami. Tudom, ciki, mentségemre szolgáljon, nem vagyok rendszerüzemeltető, csak egy mezei villamosmérnök. :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem támadok, a karmaimat is levágtam. :) Igen, jó volna, érekel is a téma, mert eléggé homály ez nekem. Az jó, hogy egy csomag valahonnan valahova megy, de arra megy válasz is. Ilyen gyorstalpaló irodalom van magyar nyelven? Lehetőleg linuxos megközelítésben, példákkal.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Megjegyzés magamnak, hogy el ne tűnjön.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A dnsmasq már oszt IP címet, ilyent is mondtam neki:

sysctl -w net.ipv4.ip_forward=1

Gondolom, kellene valami NAT. Na, azt meg hogyan?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Elvileg ennyi

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Már ha at eth0 a külső interface, az eth1 pedig a belső. Na de hogy ez firewalld-vel hogy van, azt most passzolom.

Igen.
Az első paranccsal manipulálod a nat-olt csomagokat (ahol a forrás címet ki kell cserélni a külső interface-ed címére, kívülről ugyanis az az iface látszik.
A harmadikkal engeded NAT felől kifelé a csomagok továbbítását
A másodikkal a engeded visszafelé azokat a csomagokat, amik már kiment csomagokhoz kapcsolódnak.

Ja, ehhez conntrack kernelmodult is be kell tölteni.

Amúgy nem muszáj interface-t használni, IP címet és tartományokat is használhatsz ha úgy átláthatóbb.