Umleiten des Datenverkehrs von der Brücke zum HTTP-Proxy

1197
user5321531

Wenn ich eine neue Instanz einer Ethernet-Bridge erstelle:

# brctl addbr br1 # ip link set dev br1 up # ip addr add 10.100.100.1/24 dev br1 

Beginnen Sie mit der tinyproxyÜberwachung auf localhostseinem Standardport 8888:

# tinyproxy 

Mit firejaileinem neuen Netzwerk - Namespace erstellen und an die Brücke verbinden:

# firejail --net=br1 /bin/bash 

Wie würde ich dann den Verkehr durch die Brücke weiterleiten tinyproxy, so dass zB curleine Webseite aus der firejailSandbox geholt wird:

# curl --proxy http://10.100.100.1:8888 http://wtfismyip.com/text 
0

1 Antwort auf die Frage

1
user5321531

Der folgende Befehl ist nützlich, um Ketten zu leeren / zu löschen und zu deaktivieren ufw:

# /lib/ufw/ufw-init flush-all 

Erstellen Sie eine Ethernet-Bridge:

ext_if="enp8s8" bridge="brtp8888" proxy_port="8888" # tinyproxy default  brctl addbr "$" ip link set dev "$" up ip addr add 10.100.100.1/24 dev "$" # Allow the bridge to route traffic to localhost sysctl net.ipv4.conf."$".route_localnet=1 

Leiten Sie den TCP-Verkehr, der an Port 8888 der Brücke geleitet wird, durch tinyproxy:

iptables -t nat -A PREROUTING -i "$" -p tcp -j DNAT --to-destination 127.0.0.1:"$" iptables -t nat -A POSTROUTING -s 10.100.100.0/24 -o eth0 -j MASQUERADE 

( Hinweis: Das obige wurde von Firejail mit Tor HOWTO angepasst .)

Tinyproxy schränkt Verbindungen auf, localhostes sei denn es gibt eine Konfigurationszeile anders, zu bearbeiten /etc/tinyproxy.conf:

Allow 10.100.100.0/24 

Ein vollständigerer Satz von iptables-Regeln:

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT  iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  iptables -A INPUT -i "$" -p tcp --dport "$" -j ACCEPT iptables -t nat -A PREROUTING -i "$" -p tcp -j DNAT --to-destination 127.0.0.1:"$" # tinyproxy default iptables -t nat -A POSTROUTING -s 10.100.100.0/24 -o eth0 -j MASQUERADE 

Das ufwÄquivalent:

## Copy the following into /etc/ufw/before.rules (see man ufw-framework, 'Port Redirections') # *nat # :PREROUTING ACCEPT [0:0] # -A PREROUTING -p tcp -i brtp8888 --dport 8888 -j DNAT \ # --to-destination 127.0.0.1:8888 # COMMIT # *nat # :POSTROUTING ACCEPT [0:0] # -A POSTROUTING -s 10.100.100.0/24 -o eth0 -j MASQUERADE # COMMIT  ufw allow in on "$" from 10.100.100.0/24 proto tcp 

Siehe auch diesen Beitrag zu Firejail und Herstellen einer Verbindung zum Internet über einen Host-OpenVPN-Client .

Wenn jemand erklären kann, warum eine Bridge erstellt wird, wie oben beschrieben, das Öffnen einer Sandbox mit Firefox --net=br1und das Setzen des HTTP-Proxy von Firefox auf die Gateway-IP (d. H. br1Jeder Port) funktioniert auch, würde ich gerne wissen.