Я использую OpenVPN 2.3.7 на CentOS 6. Я использую маршрутизацию (tun) и имею два экземпляра OpenVPN. Во втором случае есть два клиента, которых я хотел бы сделать видимыми друг для друга, то есть ping, порты доступа и т. Д. Они оба находятся в одной подсети, так что все должно быть довольно простым, они настроены со статическими адресами через ccd.
Я хочу, чтобы два клиента могли видеть друг друга через свои IP-адреса OpenVPN LAN без включения client-to-client
в server.conf.
Я уверен, что это можно сделать с помощью iptables, который я использую в качестве брандмауэра, хотя я использую CSF, но это оболочка для iptables.
Это IPv4-адреса клиентов:
OpenVPN Client #1: 10.8.2.14
OpenVPN Client #2: 10.8.2.17
Мне нужен клиент №1, чтобы иметь доступ к службам, запущенным на клиенте №2, и я предполагаю, что для обеспечения совместимости клиент №2 должен видеть клиента №1, если требуется ответ.
Я пробовал несколько правил цепочки FORWARD на сервере OpenVPN, но не могу установить связь между двумя клиентами. Сервер OpenVPN, очевидно, может пинговать обоих клиентов, клиенты могут пинговать шлюз сервера OpenVPN, клиенты явно не могут видеть друг друга.
Некоторые правила, которые я уже пробовал и не сработал:
iptables -A FORWARD -s 10.8.2.14 -d 10.8.2.17 -j ACCEPT
iptables -A FORWARD -s 10.8.2.17 -d 10.8.2.14 -j ACCEPT
Мне нужна помощь с iptables, чтобы два клиента были видны друг другу без включения клиент-клиентского взаимодействия. Это особое требование для двух клиентов, которое больше нигде не требуется.
Альтернативой является предоставление услуг на клиенте VPN через NAT, но я бы предпочел избегать этого в целях безопасности.
Любая информация будет полезна!
Спасибо,
Джеймс
Я знаю, что это старый вопрос, но просто чтобы уточнить это для новых пользователей, которые все еще могут посещать эту страницу:
если вы используете client-to-client
на самом деле вы не можете использовать брандмауэр, сервер даже не увидит эти пакеты, поскольку они никогда не вернутся с сервера OpenVPN, поэтому, поскольку они не достигают уровня хоста, вы не сможете использовать брандмауэр, поскольку он не будут достигнуты, и ваши правила в этом случае будут бесполезны.
Я предлагаю вам сделать наоборот: включить client-to-client
а затем используйте iptables, чтобы заблокировать всех клиентов, кроме двух, которым вы хотите разрешить разговаривать друг с другом.