у меня есть сервер С, клиент А и клиент Б. Все коробки Ubuntu и все находятся в разных городах (Сиэтл, Альбукерке и Бостон).
С установлен wireguard и оба А и Б установить соединение с wireguard и оказаться в той же VPN. А и Б видят друг друга и могут пинговать друг друга.
Я смог получить весь интернет-трафик от А направляется через С. Так АIP-адрес указан как Сиэтл.
Теперь я хочу направить его трафик через Б - так что АIP-адрес отображается как Бостон, но я не могу найти способ правильно его настроить.
Мой iptables включен С настраиваются как:
# iptables -S
-P ВВОД ПРИНЯТЬ
-P ВПЕРЕД ПРИНЯТЬ
-P ВЫВОД ПРИНЯТЬ
-A INPUT -i ext-card -p udp -m udp --dport 51820 -j ПРИНЯТЬ
-A ВВОД -i wg0 -j ПРИНЯТЬ
-A FORWARD -i wg0 -o ext-card -j ПРИНЯТЬ
-A FORWARD -i ext-card -o wg0 -j ПРИНЯТЬ
-A FORWARD -i ext-card -o wg0 -m состояние --state СВЯЗАННО,УСТАНОВЛЕНО -j ПРИНЯТЬ
-A FORWARD -i wg0 -o ext-card -j ПРИНЯТЬ
-A ВПЕРЕД -i wg0 -j ПРИНЯТЬ
# iptables -S -t физ
-P ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ ПРИНЯТЬ
-P ВВОД ПРИНЯТЬ
-P ВЫВОД ПРИНЯТЬ
-P ОТПРАВКА ПРИНЯТЬ
-A POSTROUTING -s <LAN-IP> -o ext-card -j MASQUERADE
-A POSTROUTING -o внешняя-карта -j MASQUERADE
Если я установлю те же таблицы ip на Б и дальше А добавить маршрут добавить-по-умолчанию-маршрут B-частный-IP - это не работает.
Я хотел бы получить некоторую информацию о:
- как проверить, правильно ли работают мои таблицы маршрутизации и IP?
- как должен выглядеть конфиг
А, Б и С добиться того, чего я хочу?