Run OpenVPN server on alias IP

I want to configure OpenVPN server that works on alias IP. I changed the client config to have alias IP as remote and added "local 188.xx.xx.55" in OpenVPN config which is our alias IP. Also set "netd_interface=188.xx.xx.55" which is again alias ip. When the VPN connects and I check my public IP it displays xx.xx.207.4 which is the original IP not the alias IP we want it to work on. Может ли кто-нибудь посоветовать мне, как заставить его работать с NATD или PF? Если вам нужна дополнительная информация, спрашивайте в комментариях, и я отправлю ее.

Исправление: «00050 перенаправить 8668 ip4 с любого на любой через bge0» это правило ipfw настроено, что может быть причиной проблемы. Пожалуйста, посмотрите на мою конфигурацию IP ниже.

bge0: flags = 8843 metric 0 mtu 1500 options = c019b эфир xx: xx: 97: xx: e5: xx hwaddr xx: xx: 97: xx: e5: xx inet xx.xx.207.4 netmask 0xffffffc0 broadcast xx.xx.xx.63 inet 188.xx.xx.55 сетевая маска 0xffffffff широковещательная передача 188.xx.xx.55 nd6 options = 29 media: автоматический выбор Ethernet (1000baseT) статус: активный

openvpn.conf: местный 188.xx.xx.55 порт 50983 нажмите "route 188.xx.xx.55 255.255.255.255" спросить прото udp Dev Tun ca ca.crt сертификат server.crt ключ server.key dh dh.pem server 10.8.0.0 255.255.255.0 keepalive 10 120 comp-lzo persist-key persist-tun verify-client-cert none plugin /usr/local/lib/openvpn/plugins/open$ status openvpn-status.log verb 3 push "redirect-gateway autolocal def1" push "redirect-gateway local def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

rc.conf: firewall_enable="YES" firewall_type="open" hostname="example.com" ifconfig_bge0="inet xx.xx.207.4 netmask 255.255.255.197 defaultrouter="xx.xx.207.1" ifconfig_bge0_alias0="inet 188.xx.xx.55 n$ gateway_enable="YES" natd_enable="YES" natd_flags="-alias_address 188.xx.xx.55" openvpn_enable="YES" openvpn_if="tun"

ipfw rules: 00050 перенаправить 8668 ip4 с любого на любой через bge0 00100 разрешить ip от любого к любому через lo0 00200 запретить ip от любого до 127.0.0.0/8 00300 запретить ip от 127.0.0.0/8 до любого 00400 запретить ip от любого до :: 1 00500 запретить ip от :: 1 до любого 00600 разрешить ipv6-icmp от :: до ff02 :: / 16 00700 разрешить ipv6-icmp от fe80 :: / 10 до fe $ 00800 разрешить ipv6-icmp от fe80 :: / 10 до ff $ 00900 разрешить ipv6-icmp с любого на любой ip6 $ 01000 разрешить ipv6-icmp с любого на любой ip6 $ 65000 разрешить ip от любого к любому 65535 deny ip from any to any

0
задан 24 October 2018 в 22:34
2 ответа

Вы на самом деле используете natd для NAT, так как это FreeBSD и ваше правило ipfw использует отвлекающий сокет для переадресации на него трафика. Посмотрите на вашу опцию /etc/rc.conf для nat_interface, в настоящее время она установлена в имя вашего выходного интерфейса.

По умолчанию, при такой конфигурации, natd будет использовать первичный адрес указанного интерфейса в качестве маскарада. Чтобы изменить это поведение, необходимо полностью удалить natd_interface stanza из rc.conf и изменить строку natd_flags там (или создать ее, если она не существует), чтобы включить следующее:

natd_flags="-alias_address A.B.C.D."

Где A.B.C.D должен быть ваш желаемый маскарадный IP адрес.

.
2
ответ дан 4 December 2019 в 15:49

наконец-то сработало. Я перезапустил натиф и маршрутизацию тоже вместе с natd. +1 за @Питера Жабина. Большое спасибо, брат. Ты наконец-то спас меня. К сожалению, моя репутация не терпит 15, так как я тоже здесь новенький, так что я не могу проголосовать за ваш ответ, но ваше решение работает.

.
-1
ответ дан 4 December 2019 в 15:49

Теги

Похожие вопросы