Muokataan sivua Iptables/Reititin

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
Useimmissa valmiissa reitittimissä on joku mini-Linux ja joihinkin saa jälkeenpäin asennettua [[OpenWRT]]:n. Valmiissa purkeissa turvallisuus on pääsääntöisesti varsin puutteellinen ja OpenWRT on vähän hankala ylläpitää. Mikään ei luomasta reititintä itse. Pelkkä [[Raspberry Pi]] tai vanhempi kannettava voi riittää jos tarvitsee vain Wifin. Joku sopiva mini-PC useammalla LAN-portilla toimii, ja jos haluaa oikean kotipalvelimen, voi käyttää jotain vanhaa desktop-konetta.


{{Huomautus|Artikkeli on pahasti kesken ja sitä päivitetään lähitulevaisuudessa.}}
Sivulla esitetään kolmet ohjeet eri ratkaisuille. Ensimmäisessä tapauksessa tehdään PC-koneesta tavallinen lan-reititin, toisessa Virtualbox-virtuaalikoneesta [[Whonix]]-tyylinen portti [[tor]]-verkkoon ja kolmannessa Raspberry Pi:stä wifi-reititin. Ensimmäisessä tapauksessa käytetään 64-bittistä Debian-versiota 10.10.0, toisessa 32-bittistä Debian-versiota 9.13.0 ja kolmannessa kirjoitushetkellä uusinta Raspbiania.


Useimmissa valmiissa reitittimissä on joku mini-Linux ja joihinkin saa jälkeenpäin asennettua [[OpenWrt]]:n. Valmiissa purkeissa turvallisuus on pääsääntöisesti varsin puutteellinen ja OpenWrt on vähän hankala ylläpitää. Mikään ei luomasta reititintä itse. Pelkkä [[Raspberry Pi]] tai vanhempi kannettava voi riittää jos tarvitsee vain [[WLAN|langattoman lähiverkon]]. Joku sopiva mini-PC useammalla LAN-portilla toimii, ja jos haluaa oikean kotipalvelimen, voi käyttää jotain vanhaa työpöytä-konetta.
Artikkeli on pahasti kesken ja sitä päivitetään lähitulevaisuudessa.
 
Sivulla esitetään kahdet ohjeet eri ratkaisuille. Ensimmäisessä tapauksessa tehdään PC-koneesta tavallinen lähiverkko-reititin, toisessa [[KVM]]-virtuaalikoneesta [[Whonix]]-tyylinen portti [[Tor]]-verkkoon. Ensimmäisessä tapauksessa käytetään 64-bittistä [[Debian]]-versiota 10.10.0 ja toisessa 64-bittistä Debian-versiota 11.0. Lähtökohtana on täysin uunituore, asetuksia vailla oleva Debian-asennus ilman mitään työkaluja (base system). Koneissa tulee olla kaksi verkkolaitetta.
 
== LAN-reititin ==
PC:stä voi tehdä LAN-reitittimen jos siinä on vähintään kaksi LAN-porttia. Tässä tapauksessa oletetaan että ne on nimetty enp3s0 ja enp4s0, ja että enp3s0 liitetään nettiin ja enp4s0 käyttäjän sisäverkkoon. Wifi-purkin tekeminen HostAPD:ta käyttäen mutta sitä ei käsitellä täällä verkkokorttien laajan kirjon takia.
Helpoiten selviää valitsemalla dnsmasq:in DNS- ja DHCP-palvelimeksi. Niiden lisäksi pitäisi konffata iptables, kiinteät ja oletettavasti dynaamiset ip-osoitteet sekä ottaa ip_forward käyttöön.
Ensin asennetaan dnsmasq käskyllä apt-get install dnsmasq. Seuraavaksi muokataan asetuksia tiedostossa /etc/dnsmasq.conf. Tiedoston kuuluu näyttää seuraavalta:
 
interface=enp4s0
bind-interfaces
dhcp-range=192.168.1.50,192.168.1.60,12h
 
Loput rivit voi poistaa tai kommentoida pois. Seuraavaksi asetetaan IP-osoitteet tiedostossa /etc/network/interfaces:
 
auto lo
iface lo inet loopback
 
allow-hotplug enp3s0
iface enp3s0 inet dhcp
 
auto enp4s0
iface enp4s0 inet static
address 192.168.1.250
netmask 255.255.255.0
gateway 192.168.1.250
network 192.168.1.0
 
Tallennetaan molemmat muutokset. Tässä vaiheessa dnsmasqin voi käynnistää käskyillä systemctl enable dnsmasq.service.
Seuraavaksi tehdään iptables-säännöt. Luodaan tiedosto käskyillä touch /etc/iptables.save ja muokataan sitä seuraavasti:
 
# Generated by iptables-save v1.8.7 on Sun Mar 27 12:52:14 2022
*filter
:INPUT DROP [174647:10066454]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [24876483:69841164843]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -d 192.168.1.250/32 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i enp4s0 -p udp -m udp --dport 67 -j ACCEPT
-A FORWARD -i enp3s0 -o enp4s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp4s0 -o ene3s0 -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
COMMIT
# Completed on Sun Mar 27 12:52:14 2022
# Generated by iptables-save v1.8.7 on Sun Mar 27 12:52:14 2022
*nat
:PREROUTING ACCEPT [243858:20317139]
:INPUT ACCEPT [29875:1979367]
:OUTPUT ACCEPT [61228:4493121]
:POSTROUTING ACCEPT [27228:1646052]
-A POSTROUTING -o enp4s0 -j MASQUERADE
COMMIT
# Completed on Sun Mar 27 12:52:14 2022
 
Tässä vaiheessa palomuurisäännöt ei vielä selviä uudelleenkäynnistyksestä. Sen voi tehdä vaikka asentamalla iptables-persistent-paketti.
Aivan lopulta muokataan tiedostoa /etc/sysctl.conf ja lisätään siihen net.ipv4.ip_forward=1.
Tässä vaiheessa tehdään uudelleenkäynnistys käskyllä reboot. Tämän jälkeen tietokoneen pitäisi toimia reitittimenä.
 
== Tor-reititin ==
Tarvitaan paketit <tt>apt-transport-tor</tt>, <tt>openssh-server</tt> ja <tt>isc-dhcp-server</tt>. iptables-säännöt otetaan käyttöön itsetehdyllä skriptillä ja unohdetaan esimerkiksi <tt>[[ufw]]</tt> ja <tt>iptables-persistent</tt>. Oleellisena erona wifi-reitittimeen tässä on se että palomuurin osoitemuunnokseen liittyvä MASQUERADE-sääntö ja systemd:n ip_forward jää käyttämättä. Lähtötilanne on kaksi KVM-konetta joista ensimmäinen on tor-proxy ja toinen ns. takakone jota käytetään surffailussa. Tor-proxylla on kaksi verkkolaitetta. Toinen niistä (enp1s0) on tavallisen NATin takana ja toinen (enp2s0) omassa eritetyssä verkossa. Takakoneella on yksi verkkolaite eristetyssä verkossa.
Ensin asennetaan DHCP-palvelin käskyllä apt-get install isc-dhcp-server. Ihan suoraan se ei lähde toimimaan vaan se pitää konfiguroida. Avataan /etc/dhcp/dhcpd.conf-tiedosto ja korvataan kaikki sisältö seuraavalla:
ddns-update-style none;
authoritative;
subnet 192.168.42.0 netmask 255.255.255.0 {
      range 192.168.42.10 192.168.42.50;
      option broadcast-address 192.168.42.255;
      option routers 192.168.42.1;
      default-lease-time 600;
      max-lease-time 7200;
      option domain-name "local";
      option domain-name-servers 8.8.8.8, 8.8.4.4;
}
 
Seuraavaksi avataan /etc/default/isc-dhcp-server ja tehdään muokataan rivi
 
INTERFACESv4=""
 
muotoon
 
INTERFACESv4="enp2s0"
 
Pidetään mielessä että enp2s0 on nimenomaan sisäverkon laite.
Seuraavaksi asennetaan tor käskyllä apt-get install tor ja lisätään /etc/tor/torrc-tiedostoon seuraavat rivit
 
Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 192.168.42.1:9040
DNSPort 192.168.42.1:53
 
Netistä löytää vielä vanhoja TransListenAddress- ja DNSListenAddress-asetuksia mutta ne on poistettu käytöstä ja niiden tiedot tulee nykyään TransPort- ja DNSPort-yhteyteen. Lopulta luodaan tor-lokitiedosto käskyillä touch /var/log/tor/notices.log, chown debian-tor /var/log/tor/notices.log ja chmod 644 /var/log/tor/notices.log.
Minimaalinen palomuurikonffaus luodaan tallentamalla seuraava tiedosto /etc/iptables-torproxy.conf-nimisenä:
 
# Generated by iptables-save v1.8.9 (nf_tables) on Thu Apr 18 23:22:16 2024
*filter
:INPUT DROP [219:20442]
:FORWARD DROP [0:0]
:OUTPUT DROP [1266:95320]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.42.0/24 -d 192.168.42.1/32 -p tcp -m tcp --dport 9040 -j ACCEPT
-A INPUT -s 192.168.42.0/24 -d 192.168.42.1/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.42.1/32 -d 192.168.42.0/24 -p tcp -m tcp --sport 9040 -j ACCEPT
-A OUTPUT -s 192.168.42.1/32 -d 192.168.42.0/24 -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -s 192.168.122.152/32 -d 192.168.122.1/32 -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -m owner --uid-owner 106 -j ACCEPT
COMMIT
# Completed on Thu Apr 18 23:22:16 2024
# Generated by iptables-save v1.8.9 (nf_tables) on Thu Apr 18 23:22:16 2024
*nat
:PREROUTING ACCEPT [30:7663]
:INPUT ACCEPT [356:25004]
:OUTPUT ACCEPT [304:20876]
:POSTROUTING ACCEPT [2:120]
-A PREROUTING -i enp2s0 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING -i enp2s0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040
COMMIT
# Completed on Thu Apr 18 23:22:16 2024
 
Nämä iptables-säännöt ovat kattavammat ja tämän jälkeen sisäverkossa on auki vain portit 53 (DNS) ja 9040 (tor). Sopii myös huomioida että nämä iptables-säännöt on tehty Debianilla ja tässä tapauksessa käyttäjä 106 on debian-tor. Muissa jakeluissa voi olla toisin.
Sisäverkon laite pitää konffata. Avataan /etc/network/interfaces ja lisätään siihen rivit:
 
allow-hotplug enp2s0
iface enp2s0 inet static
  address 192.168.42.1
  netmask 255.255.255.0
up iptables-restore < /etc/iptables-torproxy.conf
 
Jälleen kerran on enp2s0 se sisäverkon laite. Tässä vaiheessa voi avata /etc/sysctl.conf-tiedosto ja varmustutaan siitä että asetus net.ipv4.ip_forward=1 on kommentoitu pois. Sisäkoneen ei kuulu päästä suoraan nettiin. Lopulta tallennetaan kaikki, uudelleenkäynnistetään proxy ja avataan sisäkoneesta osoite https://check.torproject.org.
 
[[Luokka:Järjestelmä]]
[[Luokka:Verkko]]
[[Luokka:Tietoturva]]
[[Luokka:Ylläpitotyökalut]]
[[Luokka:Komentorivin perustyökalut]]
{{Malline:Palvelin}}
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tällä sivulla käytetyt mallineet: