# es hat nicht funktioniert, im gegensatz zu dem was man meinte david@work:~$ telnet 127.0.0.2 25 Trying 127.0.0.2... Connected to 127.0.0.2. Escape character is '^]'. 220 work.ituenix.de ESMTP Postfix (Debian/GNU) hello mail.ituenix.de 500 5.5.2 Error: command not recognized HELO mail.ituenix.de 250 work.ituenix.de ^CQUIT QUIR Connection closed by foreign host. david@work:~$ |
# das mit dem dvajda.de stimmt so nicht, ich probiere einen anderen port - 25, da ist es klarer <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Proxy Error</title> </head><body> <h1>Proxy Error</h1> The proxy server could not handle the request<p>Reason: <strong>DNS lookup failure for: 10.42.0.225index.html</strong></p><p /> <hr> <address>Apache/2.4.62 (Debian) Server at 37.24.242.146 Port 80</address> </body></html> Connection closed by foreign host. david@work:~$ telnet 127.0.0.2 443 Trying 127.0.0.2... Connected to 127.0.0.2. Escape character is '^]'. POST \href{http://127.0.0.1/index.html HTTP/1.1}{http://127.0.0.1/index.html HTTP/1.1} host: localhost HTTP/1.1 500 Proxy Error Date: Tue, 11 Mar 2025 19:36:24 GMT Server: Apache/2.4.62 (Debian) Content-Length: 348 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Proxy Error</title> </head><body> <h1>Proxy Error</h1> The proxy server could not handle the request<p>Reason: <strong>DNS lookup failure for: 10.42.0.225index.html</strong></p><p /> <hr> <address>Apache/2.4.62 (Debian) Server at 127.0.0.1 Port 80</address> </body></html> Connection closed by foreign host. david@work:~$ |
das war unsinn gerade mit 443 und 80, ich habe 443 umgeleitet ok - das scheint zu tun,aber erstens es kommt 80, zweitens, es ist halt der eingang – gut aber es kommt www.dvajda.de das ist mein webserver und ich richte jetzt ernsthafte HTTP POST REQUESTS an den webserver
ok, das scheint funktioniert zu haben
root@work:/home/david# iptables -t nat -A PREROUTING -p tcp -i lo:1 --dport 443 -j DNAT --to 37.24.242.146 root@work:/home/david# |
jetzt der traum des fowardings. was habe ich zu tun, um das zu testen?
das geht so 1.) Port Forwarding wuerde ich sagen, den einen Port auf einen anderen 2.) Damit habe ich kein NAT - Network Address Translation - umleitung einer addresse auf eine andere, das ist interessant
was kann ich denn machen?
wenn ich die eine addresse auf die andere forwarde weiss ich nicht, vorrausgesetzt ich habe den apache2 webserver nicht manipuliert, fuer verschiedene client adressen verschiedene seiten, ob das forwarding tut. angezeigt wird http unter 127.0.0.2 127.0.0.3 aber das ist das gleiche
wenn ich allerdings 127.0.0.2 mit NAT auf 127.0.0.3 forwarde und bei 127.0.0.3 ein PORT FORWARDING von 80 auf 25 mache, dann weiss ich, erreicht mich bei zugriff mit telnet auf 127.0.0.2 auf Port 80, der SMTP Server, hat beides funktioniert.
https://www.karlrupp.net/de/computer/nat_tutorial
$> iptables [...] -j DNAT --to-destination 123.123.123.123:22 |
# tut mit telnet nicht root@work:/home/david# iptables -t nat -A OUTPUT -d 127.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 127.0.0.3:25 root@work:/home/david# iptables -t nat -A OUTPUT -d 127.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 37.24.242.146:25 jetzt loesche ich noch mal die - iptables - tabelle - halt vorher ein anderes experiment, verrueckt, ich habe es hinbekommen, ich wollte es laengst, es gelang mir den netzwerkverkehr zu stoppen, zum server, aber nicht auf einen port root@work:/home/david# iptables -A INPUT -d 127.0.0.2 -p tcp --dport 80 -j DROP root@work:/home/david# |
damit geht es. um auf nummer sicher zu gehen, kann ich versuchen - die tabelle zu leeren und die regeln zu pruefen
besser, ich versuche telnet mit port 25
ja, port 25 ist durchgelassen, port 80 nicht.
# verrueckt! ich habe es hingegkriegt root@work:/home/david# iptables -A INPUT -d 127.0.0.2 -p tcp --dport 80 -j DROP root@work:/home/david# |
# komischerweise funktioniert das zweite root@work:/home/david# iptables -A OUTPUT -d 127.0.0.2 -p tcp --sport 80 -j DROP root@work:/home/david# iptables -A OUTPUT -d 127.0.0.2 -j DROP root@work:/home/david# # verrueckt! ich habe es hingegkriegt root@work:/home/david# iptables -A INPUT -d 127.0.0.2 -p tcp --dport 80 -j DROP root@work:/home/david# |
# raucherpause root@work:/home/david# iptables -L --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- anywhere anywhere tcp spt:http 2 DROP tcp -- anywhere anywhere tcp spt:http 3 DROP all -- work anywhere 4 ACCEPT tcp -- work anywhere tcp dpt:http Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- anywhere anywhere tcp dpt:http 2 DROP tcp -- anywhere anywhere tcp dpt:http 3 ACCEPT tcp -- work anywhere tcp spt:http 4 ACCEPT tcp -- work anywhere tcp spt:http 5 ACCEPT tcp -- anywhere work tcp spt:http root@work:/home/david# root@work:/home/david# iptables -L --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- anywhere anywhere tcp spt:http 2 DROP tcp -- anywhere anywhere tcp spt:http 3 DROP all -- work anywhere 4 ACCEPT tcp -- work anywhere tcp dpt:http Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- anywhere anywhere tcp dpt:http 2 DROP tcp -- anywhere anywhere tcp dpt:http 3 ACCEPT tcp -- work anywhere tcp spt:http 4 ACCEPT tcp -- work anywhere tcp spt:http 5 ACCEPT tcp -- anywhere work tcp spt:http root@work:/home/david# iptables -F root@work:/home/david# iptables -L --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination root@work:/home/david# root@work:/home/david# iptables -A OUTPUT -d 127.0.0.2 -p tcp --sport 80 -j DROP root@work:/home/david# |
ich loesche die regeln, nein vorher interessant ist, dass diese regeln gar keinen einfluss haben
root@work:/home/david# iptables -A INPUT -s 127.0.0.2 -p tcp --dport 80 -j ACCEPT root@work:/home/david# iptables -A OUTPUT -s 127.0.0.2 -p tcp --sport 80 -j ACCEPT root@work:/home/david# iptables -A OUTPUT -s 127.0.0.2 -p tcp --sport 80 -j ACCEPT root@work:/home/david# root@work:/home/david# iptables -A OUTPUT -d 127.0.0.2 -p tcp --sport 80 -j ACCEPT |
nein, also ich denke somit kann man in 4 szenarien unterteilen, 1.) es gibt einen client port 2.) es gibt einen server port also ich denke wir duerfen nicht uebersehen - 1024:65535 sind unsere klassischen client ports
wenn man jetzt so zu sagen so denkt, ich sperre port 80 - weil der server als sender und empfaenger fungiert, neue liste.
1.) Server 2.) Client
1.) Sender/Transmitter 2.) Reciever
1.) Server 1.1.) Transmitter 1.2.) Reciever 2.) Client 2.1.) Transmitter 2.2.) Reciever
koennte man ja davon ausgehen, dass indem ich PORT 80 eben sowohl als Quellport und Zielport schliesse muesste die Verbindung zum Server PORT 80 auf dem lokalen - Host - Server unterbrochen sein. Aber dem ist nicht so - weil, der Source Port, scheint so zu sagen, der Transmitter zu sein
- Source Port: transmit - Destination Port: Recieve
wenn ich den Source Port - des Servers - des lokalen host auf 80 abstelle heisst das, indem er als Client kontakt aufnimmt, zu einem server - benutzt er nicht port 80 - was ja fuer server dient
trotzdem logisch ist das nicht - weil auch der Server benutzt ja ausgehende Pakete und sie bleiben dann bei transmit auf Port 80
also, wir probieren es mal aus.
# in diesem Falle hat sie funktioniert, diese Regel root@work:/home/david# iptables -A INPUT -s 127.0.0.2 -j DROP |
david@work:~$ telnet 127.0.0.2 80 Trying 127.0.0.2... Connected to 127.0.0.2. Escape character is '^]'. ^Cquit Connection closed by foreign host. david@work:~$ telnet 127.0.0.2 80 |
david@work:~$ telnet 127.0.0.2 80 Trying 127.0.0.2... HELLO QUIT QUIT ^C david@work:~$ |
https://www.englert.one/iptables-tutorial
hier sind zum beispiel die entsprechenden regelketten fuer port 80, wenn auch mit ACCEPT und nicht DROP Freigabe, und es scheint richtig zu sein, dass ich hier -A INPUT und –dport fuer Destination Port verwenden muss
# wenn hier steht iptables -A INPUT -s 10.10.10.1 -j DROP und das ist die Addresse des Clients der sich an meinen server wendet so zu sagen und dieser source ist -s also nicht --dport und das ganze mit -A INPUT geschieht bestaetigt sich das. # wenn hier steht iptables -A INPUT -s 10.10.10.1 -j DROP und das ist die Addresse des Clients der sich an meinen server wendet so zu sagen und dieser source ist -s also nicht --dport und das ganze mit -A INPUT geschieht bestaetigt sich das. # bei diesen regeln tut sich nichts root@work:/home/david# iptables -A OUTPUT -o lo:1 -p tcp --dport 80 -j DROP root@work:/home/david# iptables -A INPUT -i lo:1 -p tcp --sport 80 -j DROP root@work:/home/david# # ich versuche jetzt zu gucken, was ich im kernel aktivieren muss |