Маршрутизация трафика в Linux

У меня есть три компьютера в одной сети (A, B и C). B имеет 2 интерфейса. Я хочу, чтобы трафик A->C направлялся через B. Я полагаю, что я могу сделать это, если A отправит трафик на B, а B перенаправит адрес назначения на C.

Я попытался заставить это работать, используя следующее на B:

iptables -t nat -A PREROUTING -i [B_INTERFACE] -j DNAT --to [C_IP]

Но трафик не направляется к C.

Я понимаю эту команду, чтобы в основном изменить целевой IP-адрес IP-трафика на [C_IP] для всего трафика, поступающего на [B_INTERFACE]. Это неправильно? Если это так, какая команда будет делать это? Спасибо за любую помощь.

1 ответ

Решение

Вы можете попробовать команду route на A. В основном добавьте B в качестве маршрута по умолчанию на A к первому интерфейсу. Подключите C ко 2-му интерфейсу B и используйте цепочку iptable foward на B к C или предварительную маршрутизацию. Или добавить по умолчанию getway C на B. Готово!

Другие вопросы по тегам