Разные внешние IP для разных OpenVPN-клиентов
April 19th, 2010
Иногда появляется необходимость сделать для разных подключающихся клиентов разные исходящие IP-адреса. Большая часть настройки такая же как в статье “Установка OpenVPN на Linux“. Покажу лишь отличия в ситуации с двумя клиентами:
В server.conf:
server 10.10.0.0 255.255.0.0
client-config-dir /etc/openvpn/ccd
client-config-dir /etc/openvpn/ccd
/etc/openvpn/ccd/client1:
ifconfig-push 10.10.10.1 10.10.10.2
iroute 10.10.10.0 255.255.255.0
iroute 10.10.10.0 255.255.255.0
/etc/openvpn/ccd/client2:
ifconfig-push 10.10.20.1 10.10.20.2
iroute 10.10.20.0 255.255.255.0
iroute 10.10.20.0 255.255.255.0
Ну и правил для ната должно быть тоже два:
iptables -t nat -A POSTROUTING -s 10.10.10.0/255.255.255.0 -o venet0 -j SNAT --to-source first-ext-ip
iptables -t nat -A POSTROUTING -s 10.10.20.0/255.255.255.0 -o venet0 -j SNAT --to-source second-ext-ip
iptables -t nat -A POSTROUTING -s 10.10.20.0/255.255.255.0 -o venet0 -j SNAT --to-source second-ext-ip
