Я хочу настроить сервер OpenVPN, который работает с псевдонимом IP. Я изменил конфигурацию клиента, чтобы иметь псевдоним IP как удаленный, и добавил "local 188.xx.xx.55" в конфигурацию OpenVPN, которая является нашим псевдонимом IP. Также установите «netd_interface = 188.xx.xx.55», который снова является псевдонимом ip. Когда VPN подключается, и я проверяю свой общедоступный IP-адрес, он отображает xx.xx.207.4, который является исходным IP-адресом, а не псевдонимом IP-адреса, с которым мы хотим, чтобы он работал. Может ли кто-нибудь посоветовать мне, как заставить его работать с NATD или PF? Если вам нужна дополнительная информация, просто спрашивайте в комментариях, и я отправлю ее.
Исправление: «00050 перенаправить 8668 ip4 с любого на любой через bge0» это правило ipfw настроено, что может быть причиной проблемы. Пожалуйста, посмотрите мою конфигурацию IP ниже.
bge0: flags = 8843 метрика 0 mtu 1500 options = c019b ether xx: xx: 97: xx: e5: xx hwaddr xx: xx: 97: xx: e5: xx inet xx.xx.207.4 netmask 0xffffffc0 широковещательный xx.xx.xx.63 inet 188.xx.xx.55 netmask 0xffffffff broadcast 188.xx.xx.55 nd6 options = 29 media: Ethernet autoselect (1000baseT) статус: активен
openvpn.conf: local 188.xx.xx.55 порт 50983 push "route 188.xx.xx.55 255.255.255.255" askpass proto udp dev tun ca ca.crt cert server.crt key 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 глагол 3 push "шлюз перенаправления 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 = "ДА" 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: 00050 divert 8668 ip4 от любого к любому через bge0 00100 allow ip от любого к любому через lo0 00200 deny ip от любого к 127.0.0.0/8 00300 deny ip от 127.0.0.0/8 к любому 00400 deny 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 запретить ip от любого до любого
Вы действительно используете natd
для NAT, так как это FreeBSD и ваш ipfw
Правило использует сокет перенаправления для перенаправления на него трафика. Посмотри на свой /etc/rc.conf
для nat_interface
вариант, в настоящее время он установлен на имя вашего выходного интерфейса.
По умолчанию в этой конфигурации natd
будет использовать первичный адрес указанного интерфейса как маскарад. Чтобы изменить это поведение, вам нужно удалить natd_interface
строфа в целом из rc.conf
и измените свой natd_flags
строка там (или создайте ее, если она не существует), чтобы включить это:
natd_flags="-alias_address A.B.C.D"
Где A.B.C.D должен быть вашим желаемым маскарадным IP-адресом.
наконец это сработало. Я перезапустил natif и роутинг тоже вместе с natd. +1 для @Peter Zhabin. большое спасибо брату. ты наконец спас меня. К сожалению, моя репутация не выше 15, поскольку я тоже здесь новичок, поэтому я не могу проголосовать за ваш ответ, но ваше решение действительно работает.