2025-03-12 and before


# 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#

Image Screenshot_20250311_194748

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
oder vielleicht so.


# 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.

Image Screenshot_20250311_192826

Image Screenshot_20250311_192845


# 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#
Image Screenshot_20250311_192545

# 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#
Image Screenshot_20250311_175705

Image Screenshot_20250311_174055


# 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#
das funktioniert nicht

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
rein theoretisch ist der gesamte verkehr unterbrochen, doch durch die chain muesste ja jetzt eine ausnahme fuer –dport ... 80 gelten und so weiter, doch nach wie vo komen keine pakete durch. also erstes problem schent –sport und –dport zu sein, die sich scheinbar nicht darum kuemmern, was ich moechte

Image Screenshot_20250311_174042

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
guckt man nach telnet stand vorher da:

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
und nun

david@work:~$ telnet 127.0.0.2 80
Trying 127.0.0.2...
HELLO
QUIT
QUIT
^C
david@work:~$
Image Screenshot_20250311_173241

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