tech:libvirt_iptables_reseau_changement_d_interface_wifi_a_la_place_de_eth0

Libvirt iptables réseau changement d'interface Wifi à la place de eth0

Note : iptables est remplacé maintenant par nftables

Problématique

J'ai emporté un peu de boulot en vacances, j'ai l'habitude pour mes tests d'utiliser libvirt.
Tiens plus d'accès à internet depuis mes VM
Eurêka ! C'est parce que je suis en Wifi, alors que d'habitude je suis en filaire

A faire : Écrire un script du style : iptables-sed 's/eth0/wlan0/'

1ere approche

A vérifier

Table filter (table par défaut)

iptables -S > iptables-filter.txt
cat iptables-filter.txt  |grep eth0 |sed -e 's/^-A/-D/' > iptables-filter.sh
cat iptables-filter.txt  |grep eth0 |sed -e 's/^-A/-I/' -e 's/eth0/wlan0/g' >> iptables-filter.sh
sed -i -e 's/^/iptables /' iptables-filter.sh

Table NAT

iptables -S -t nat > iptables-nat.txt
cat iptables-nat.txt  |grep eth0 |sed -e 's/^-A/-D/' > iptables-nat.sh
cat iptables-nat.txt  |grep eth0 |sed -e 's/^-A/-I/' -e 's/eth0/wlan0/g' >> iptables-nat.sh
sed -i -e 's/^/iptables -t nat /' iptables-nat.sh

c'est partie

bash iptables-filter.sh
bash iptables-nat.sh

2eme aproche

On remet à zero les compteurs de paquets

iptables -Z

On regarde

iptables -L -n -v
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  virbr1 virbr1  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr1  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr1 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
   39  2460 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  wlan0  virbr0  0.0.0.0/0            192.168.100.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 wlan0   192.168.100.0/24     0.0.0.0/0 

Ya pas de doute, c'est :

   39  2460 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

On cherche la règle concernée

iptables -S |grep REJECT |grep virbr0

On trouve 2 règles REJECT

-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachabl

On les virent (on remplace -A par -D)

iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
tech/libvirt_iptables_reseau_changement_d_interface_wifi_a_la_place_de_eth0.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki