у меня есть сервер С
, клиент А
и клиент Б
. Все коробки 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?
- как должен выглядеть конфиг
А
, Б
и С
добиться того, чего я хочу?