Я пытаюсь настроить NAT для определенного диапазона IP-адресов. Я использую гипервизор QEMU/KVM с локальным мостом с диапазоном IP-адресов 10.0.0.0/8. На этом мосту у меня есть несколько диапазонов IP для разных классов машин. Пара этих диапазонов используется для предоставления внешних IP-адресов виртуальным машинам через NAT 1-к-1. Это работает отлично.

Теперь я хочу настроить диапазон IP-адресов для машин, которые получают доступ в Интернет через обычный NAT (например, потребительский маршрутизатор). Диапазон IP-адресов 10.0.0.5-10.0.0.150. После поиска в Интернете я попытался добавить правило вроде:

iptables -t nat -m iprange -A PREROUTING -i eth0 --dst-range 10.0.0.5-10.0.0.150 -j MASQUERADE

iptables не настроен для блокировки трафика. Тем не менее, NAT не работает. Моя виртуальная машина может пропинговать гипервизор, но не может пропинговать хосты в Интернете. Переадресация IP-пакетов включена.

Есть идеи?

1 ответ1

0

Используя разные условия поиска, я нашел этот ответ на сервере.

Моя проблема в том, что я использовал неправильную цепочку, чтобы применить правило. Правильная команда:

iptables -t nat -miprange -A POSTROUTING -o eth0 --src-range 10.0.0.5-10.0.0.150 -j MASQUERADE

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .