я пытаюсь подключить порт от клиента wireguard к хост-сети сервера.
Я пытался сделать это с помощью IPtables, но всегда получаю ответ «недоступен».
Кажется, что моя конфигурация может быть проблемой?
Спасибо!
ТЕСТ Соединение
root@wiretest3:~# curl -I 10.7.0.2:6060
HTTP/1.1 200 ОК
Сервер: nginx/1.20.1
Дата: воскресенье, 18 июля 2021 г., 10:37:38 по Гринвичу
Тип содержимого: текст/html
Длина контента: 988
Последнее изменение: сб, 17 июля 2021 г., 10:07:05 по Гринвичу
Соединение: Keep-alive
ETag: "60f2abc9-3dc"
Допустимые диапазоны: байты
root@wiretest3:~# curl -I 192.168.1.180:6060
curl: (28) Не удалось подключиться к порту 6060 192.168.1.180: время ожидания подключения истекло
root@wiretest3:~# curl -I 127.0.0.1:6060
curl: (7) Не удалось подключиться к порту 127.0.0.1 6060: соединение отклонено
Конфигурация сервера:
Хост: 192.168.1.183
Сеть Wireguard: 10.7.0.1
root@wiretest3:~# cat /etc/wireguard/wg0.conf
# Не изменяйте закомментированные строки
# Они используются wireguard-install
# КОНЕЧНАЯ ТОЧКА wireguard.demo.net
[Интерфейс]
Адрес = 10.7.0.1/24
PrivateKey = QAOETAJYMK3PcDhN/y+xFJKcJetm4...........
Порт прослушивания = 51823
# BEGIN_PEER клиент
[Вглядеться]
PublicKey = YxM7cwbmBm7VIyNcRdDBhtiEwFWL........
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+.........
Разрешенные IP-адреса = 10.7.0.2/32, 192.168.1.183/32
# END_PEER клиент
IP а
root@wiretest3:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eth0@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 2e:f5:1e:38:32:06 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 0
инет 192.168.1.183/24 brd 192.168.1.255 глобальный охват eth0
valid_lft навсегда
ссылка на область inet6 fe80::2cf5:1eff:fe38:3206/64
valid_lft навсегда
3: wg0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1420 qdisc mq состояние НЕИЗВЕСТНО группа по умолчанию qlen 500
ссылка/нет
глобальная область действия inet 10.7.0.1/24 wg0
valid_lft навсегда
inet6 fe80::6613:2cc4:bb7d:6bd4/64 ссылка на стабильную конфиденциальность
valid_lft навсегда
Правила IPtables:
iptables -P ПЕРЕДАЧА ПЕРЕДАЧИ;
iptables -A FORWARD -i eth0 -j ПРИНЯТЬ;
iptables -t nat -A PREROUTING -p tcp --dport 6060:6060 -j DNAT --to-destination 10.7.0.2;
iptables -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
IPtables: (iptables-сохранить)
root@wiretest3:~# iptables-save
# Сгенерировано iptables-save v1.8.7 в воскресенье, 18 июля, 13:17:28 2021 г.
*фильтр
:ВВОД ПРИНЯТЬ [0:0]
:ВПЕРЕД КАПИТЬ [0:0]
: ВЫВОД ПРИНЯТЬ [0:0]
-A ВВОД -p udp -m udp --dport 51823 -j ПРИНЯТЬ
-A ВПЕРЕД -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВПЕРЕД -s 10.7.0.0/24 -j ПРИНЯТЬ
-A ВПЕРЕД -i eth0 -j ПРИНЯТЬ
СОВЕРШИТЬ
# Завершено вс, 18 июля, 13:17:28 2021
# Сгенерировано iptables-save v1.8.7 в воскресенье, 18 июля, 13:17:28 2021 г.
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТЬ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [0:0]
-A PREROUTING -p tcp -m tcp --dport 6060 -j DNAT --to-destination 10.7.0.2
-A РАЗМЕЩЕНИЕ -s 10.7.0.0/24 ! -d 10.7.0.0/24 -j SNAT --к источнику 192.168.1.183
-A ПОСТРОЙКА -o eth0 -j МАСКАРАД
СОВЕРШИТЬ
# Завершено вс, 18 июля, 13:17:28 2021
root@wiretest3:~#
IPtables: iptables -L -n -t nat (сейчас)
root@wiretest3:~# sudo iptables -L -n -t nat
Цепь PREROUTING (политика ПРИНЯТЬ)
целевая защита выбор источника назначения
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6060 to:10.7.0.2
Сеть INPUT (политика ACCEPT)
целевая защита выбор источника назначения
Цепочка OUTPUT (политика ACCEPT)
целевая защита выбор источника назначения
Сеть POSTROUTING (правило ПРИНЯТЬ)
целевая защита выбор источника назначения
SNAT все -- 10.7.0.0/24 !10.7.0.0/24 до:192.168.1.183
МАСКАРАД все -- 0.0.0.0/0 0.0.0.0/0
Конфигурация клиента:
root@wiredocker:/etc/wireguard# cat /etc/wireguard/wg0.conf
[Интерфейс]
Адрес = 10.7.0.2/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = GAF31cqwu2YSWQPdiSvlWie2Pma.........
[Вглядеться]
Публичный ключ = 3VMnaI8JvoXZ6DthLcDy5MnVmNq...............
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+.............
Разрешенные IP-адреса = 0.0.0.0/0, ::/0, 192.168.1.0/24
Конечная точка = wireguard.demo.net:51823
ПостоянныйKeepalive = 25
IP а
root@wiredocker:/etc/wireguard# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eth0@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 76:d3:5b:64:b4:f0 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 0
инет 192.168.178.178/24 brd 192.168.178.255 глобальный охват eth0
valid_lft навсегда
inet6 fe80::74d3:5bff:fe64:b4f0/64 ссылка на область видимости
valid_lft навсегда
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
ссылка/эфир 02:42:bb:9b:28:90 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 глобальная область действия docker0
valid_lft навсегда
inet6 fe80::42:bbff:fe9b:2890/64 ссылка на область видимости
valid_lft навсегда
10: veth508c767@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
ссылка/эфир ea:cd:96:6e:33:0b brd ff:ff:ff:ff:ff:ff link-netnsid 1
ссылка на область inet6 fe80::e8cd:96ff:fe6e:330b/64
valid_lft навсегда
15: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/нет
глобальная область действия inet 10.7.0.2/24 wg0
valid_lft навсегда