View Single Post
Trådstarter
Da er jeg tilbake med enda en problemstilling. De lokale IP-adressene er nemlig webservere og lignende.
Det er meningen at når man besøker en nettside som er pekt til $IP1, så skal man komme til serveren 192.168.10.10.

Prøvde derfor disse iptables-reglene:

Kode

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.10.10:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.10 --dport 80 -j SNAT --to-source $IP1

iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.10.10:443
iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.10 --dport 443 -j SNAT --to-source $IP1
Dette fungerer fjell! Men problemet er at jeg også sitter på samme lokalnett, og dette er DHCP-serveren som deler ut IP-adresser til mine klienter. Det betyr at hver gang jeg besøker en nettside med SSL (https://...), så får jeg feilmelding om at det er usikkert å besøke nettsiden.

Da jeg sjekket hva som sto i sertifikatet til nettsiden jeg forsøkte å besøke, så oppdaget jeg at den brukte sertifikatet som ligger på webserveren til den websiden jeg hoster, på 192.168.10.10...

Så... Hva skal til for at dette ikke skjer med IP-adressene som ikke er nevnt i firewall-rulen, for eksempel min PC, som har IP 192.168.10.105?

Jeg har blitt bedt om å være mer spesifikk, så jeg prøver en gang til med mer detaljer:
Serveren jeg har lagt iptables-reglene du har hjulpet meg med, denne serveren er en gateway for mitt hjemmenett. Den har DHCP-server installert (Debian), og deler ut IP-adresser i rangen 192.168.10.100 - 192.168.10.199.

Jeg har en annen server på dette nettverket, den har statisk IP 192.168.10.8.
Iptables-reglene 0xFF har hjulpet meg med ser sånn ut:

Kode

# Generated by iptables-save v1.6.0 on Tue Oct 31 06:17:34 2017
*nat
:PREROUTING ACCEPT [15551:1816287]
:INPUT ACCEPT [6753:699040]
:OUTPUT ACCEPT [13036:965202]
:POSTROUTING ACCEPT [243:12443]
-A POSTROUTING -s 192.168.10.8/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.118
-A POSTROUTING -s 192.168.10.9/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.164
-A POSTROUTING -s 192.168.10.10/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.181
-A POSTROUTING -o enp0s25 -j MASQUERADE
COMMIT
# Completed on Tue Oct 31 06:17:34 2017
# Generated by iptables-save v1.6.0 on Tue Oct 31 06:17:34 2017
*mangle
:PREROUTING ACCEPT [292173:146503099]
:INPUT ACCEPT [53686:12638536]
:FORWARD ACCEPT [238187:133846563]
:OUTPUT ACCEPT [34126:11931844]
:POSTROUTING ACCEPT [272252:145772719]
COMMIT
# Completed on Tue Oct 31 06:17:34 2017
# Generated by iptables-save v1.6.0 on Tue Oct 31 06:17:34 2017
*filter
:INPUT ACCEPT [53686:12638536]
:FORWARD ACCEPT [238187:133846563]
:OUTPUT ACCEPT [34065:11926156]
COMMIT
# Completed on Tue Oct 31 06:17:34 2017
Så altså, når jeg besøker ipadresse.no (med CURL) fra den serveren med 192.168.10.8, har den IP-adressen XXX.XXX.XXX.118. Dette er helt riktig og i henhold til trådens problemstilling.

Så inne i Cloudflare DNS har jeg satt domenet minegenside.no til å peke til XXX.XXX.XXX.118, slik at når man besøker minegenside.no, skal man komme til denne serveren (192.168.10.8)

Da måtte jeg legge inn disse kommandoene i firewall:

Kode

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.10.8:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.8 --dport 80 -j SNAT --to-source XXX.XXX.XXX.118

iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.10.8:443
iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.8 --dport 443 -j SNAT --to-source XXX.XXX.XXX.118
Dette fungerer perfekt, alle som besøker minegenside.no blir videresendt til riktig server, og alt fungerer som det skal.
Problemet er at når jeg besøker https://google.no, eller https://freak.no eller you name it, fra min PC, med IP-adressen 192.168.100.105, så blir jeg faktisk sendt til minegenside.no. Nå mens jeg skriver dette oppdaget jeg at det også gjelder http://-adresser, altså både port 80 og 443..... Alle sidene jeg på min PC besøker, er minegenside.no ....
Bilde: https://imgur.com/a/uFQ0b
Iptables-regler mens dette problemet er aktuell:

Kode

# Generated by iptables-save v1.6.0 on Tue Oct 31 06:31:03 2017
*nat
:PREROUTING ACCEPT [360:127266]
:INPUT ACCEPT [232:21306]
:OUTPUT ACCEPT [367:26679]
:POSTROUTING ACCEPT [5:244]
-A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.8:80
-A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.10.8:443
-A POSTROUTING -s 192.168.10.8/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.118
-A POSTROUTING -s 192.168.10.9/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.164
-A POSTROUTING -s 192.168.10.10/32 -o enp0s25 -j SNAT --to-source XXX.XXX.XXX.181
-A POSTROUTING -o enp0s25 -j MASQUERADE
-A POSTROUTING -d 192.168.10.8/32 -p tcp -m tcp --dport 80 -j SNAT --to-source XXX.XXX.XXX.118
-A POSTROUTING -d 192.168.10.8/32 -p tcp -m tcp --dport 443 -j SNAT --to-source XXX.XXX.XXX.118
COMMIT
# Completed on Tue Oct 31 06:31:03 2017
# Generated by iptables-save v1.6.0 on Tue Oct 31 06:31:03 2017
*mangle
:PREROUTING ACCEPT [313040:160499689]
:INPUT ACCEPT [55171:12975593]
:FORWARD ACCEPT [257559:147505496]
:OUTPUT ACCEPT [35205:12053907]
:POSTROUTING ACCEPT [292665:159548134]
COMMIT
# Completed on Tue Oct 31 06:31:03 2017
# Generated by iptables-save v1.6.0 on Tue Oct 31 06:31:03 2017
*filter
:INPUT ACCEPT [55171:12975593]
:FORWARD ACCEPT [257559:147505496]
:OUTPUT ACCEPT [35106:12042638]
COMMIT
# Completed on Tue Oct 31 06:31:03 2017
Dette skjer også på web-serveren i seg selv, jeg skriver f.eks. curl -s ipv4.icanhazip.com i terminalen, da skal man egentlig bare få sin egen IP-adresse. Nå får jeg hele HTML-koden til forsiden til minegenside.no i output i terminal isteden..
Sist endret av Rusmisbrukeren; 31. oktober 2017 kl. 06:48. Grunn: Automatisk sammenslåing med etterfølgende innlegg.