reindirizzare il traffico dal bridge al proxy http


0

Se creo una nuova istanza di un bridge ethernet:

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

Inizia ad tinyproxyascoltare sulla localhostsua porta predefinita 8888:

# tinyproxy

Con firejailcreare un nuovo spazio dei nomi di rete e collegarlo al bridge:

# firejail --net=br1 /bin/bash

In che modo quindi instraderei il traffico attraverso il bridge in tinyproxymodo che, ad esempio, curlrecuperi una pagina Web dall'interno della firejailsandbox:

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

Risposte:


1

Il seguente comando è utile per svuotare / eliminare le catene e disabilitare ufw:

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

Crea un bridge ethernet:

ext_if="enp8s8"
bridge="brtp8888"
proxy_port="8888"  # tinyproxy default

brctl addbr "${bridge}"
ip link set dev "${bridge}" up
ip addr add 10.100.100.1/24 dev "${bridge}"
# Allow the bridge to route traffic to localhost
sysctl net.ipv4.conf."${bridge}".route_localnet=1

Instradare il traffico tcp diretto alla porta 8888 del ponte attraverso tinyproxy:

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

(NB quanto sopra è stato adattato da Firejail con Tor HOWTO .)

Tinyproxy limita le connessioni a localhostmeno che non esista altrimenti una riga di configurazione, modifica /etc/tinyproxy.conf:

Allow 10.100.100.0/24

Un set più completo di regole iptables:

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 "${bridge}" -p tcp --dport "${proxy_port}" -j ACCEPT
iptables -t nat -A PREROUTING -i "${bridge}" -p tcp -j DNAT --to-destination 127.0.0.1:"${proxy_port}"  # tinyproxy default
iptables -t nat -A POSTROUTING -s 10.100.100.0/24 -o eth0 -j MASQUERADE

L' ufwequivalente:

## 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 "${bridge}" from 10.100.100.0/24 proto tcp

Vedi anche questo post Firejail e la connessione a Internet tramite un client OpenVPN host .

Se qualcuno può spiegare perché la creazione di un bridge come indicato sopra, l'apertura di un sandbox con firefox --net=br1e l'impostazione del proxy HTTP di Firefox sull'IP del gateway (vale a dire br1qualsiasi porta) funziona, sarei anche interessato a sapere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.