Я имею дело с 3 машинами (ВМ):-

A:-172.20.10.1 (Клиент)

B:-172.20.10.2 (оригинальный сервер)

C:-172.20.10.5 (сервер перенаправления)

Теперь я хочу, чтобы А посетил Б и Б, чтобы переслать это С.

Я смог добиться этого с помощью:-

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 172.20.10.5:80 iptables -t nat -A POSTROUTING -j MASQUERADE

Но теперь я хочу сделать это только для одного IP (IE) с 172.20.10.1 по 172.20.10.5, когда он пытается получить доступ к 172.20.10.2. Я уже попробовал ответ здесь.

и да net.ipv4.ip_forward = 1 также установлен.

2 ответа2

0

На перекрестной копии в unix.SE, я ответил:

Просто добавьте что-нибудь, совпадающее с IP-адресом, которому вы хотите соответствовать правилу:

iptables -t nat -A PREROUTING -s 172.20.10.1 -p tcp --dport 80 -j DNAT --to-destination 172.20.10.5:80

и ФП оставил комментарий, просто говоря: «Это не работает ..», на что я должен спросить: как это не работает? Трафик не пересылается или трафик от других клиентов все еще пересылается или ...?

0

добавить следующее в предварительную маршрутизацию

-s 172.20.10.1/32,172.20.10.2/31,172.20.10.4/31 

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