Próbuję przekierować pewien zakres portów na hoście Linux do jednej z maszyn wirtualnych gości. Chciałbym, aby to przekierowanie dotyczyło wszystkich interfejsów hosta, w tym localhost. Byłem w stanie zrobić:
iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 8000:8500 -j DNAT --to 192.168.122.158
Gdzie 8000: 8500 to zakres, który jestem zainteresowany przekazywaniem, a 192.168.122.158 to adres IP gościa. Działa to tak długo, jak próbuję połączyć się z innego komputera, tj. Hosta VM. Chciałbym również móc przekazywać ruch pochodzący z hosta VM.
Mam nadzieję, że to jasne, przepraszam, jeśli zmieniłem terminologię.
Pakiety lokalne nie wejdą do
PREROUTING
łańcucha. Wierzę, że będziesz musiał użyćOUTPUT
łańcucha w tabeli NAT, aby to zrobić:Być może będziesz musiał także dodać regułę do łańcucha filtrów, która zezwala na te wychodzące i powiązane z nimi pakiety:
źródło