Назад | Перейти на главную страницу

iptables и DNAT. быстрый вопрос

Итак, у меня есть машина с единым интерфейсом. У него 2 IP-адреса (eth0: 192.168.2.3, eth0: 1 192.168.2.4). Я хотел бы принимать любой трафик, входящий на 192.168.2.4, и преобразовывать его через NAT на внешний IP-адрес. Насколько я могу судить, я сделал все необходимое, чтобы заставить его работать, но это не так, поэтому я что-то упускаю.

/ proc / sys / net / ipv4 / ip_forward установлен в 1

все мои iptables установлены по умолчанию ACCEPT, вот мое правило DNAT:

iptables -t nat -A PREROUTING -d 192.168.2.4 -j DNAT --to-destination 192.1.1.2

У машины есть маршрут к 192.1.1.2 через шлюз, доступный с eth0: 192.1.1.2 192.168.2.248 255.255.255.0 UG 0 0 0 eth0

Правило DNAT, похоже, на самом деле не выполняет какого-либо NAT / перенаправления.

Что я пропустил?

Я бы сделал iptables -t nat -L -v -n чтобы увидеть счетчики правила DNAT в цепочке PREROUTING. Вы можете наблюдать, как они увеличиваются с каждым новым подключением, обрабатываемым правилом. Если они не увеличиваются, я бы начал обнюхивать трафик на интерфейсе eth1, чтобы увидеть, попадает ли он туда.

Вероятно, ваша цепочка FORWARD настроена на политику отбрасывания по умолчанию и не имеет правила для пересылки этого трафика. Еще раз проверьте это.