We use cloud based pbx servers which are ipv4 only but have clients on ipv6 networks. Outgoing calls work but the pbx is unable to find the connected clients for incoming calls. We managed to get vpn connected but this doesn't work either. I recently brought a phone home for testing and my home internet is ipv6 based though I can of course reach ipv4 addresses. It might be possible to setup an intermediate FreeBSD gateway with ipfw that would take all connections on ipv6 and forward them to the PBX ipv4 address and traffic from the ipv4 PBX forwarded back to the ipv6 client(s).
I setup a FreeBSD server on Azure (ping times are good but probably not the best choice since connections are natted but I won't digress). I was looking at the ipfw nat64 and the page at https://bsdrp.net/documentation/examples/nat64#nat64 .. and I am frankly kind of lost. Maybe going about this all the wrong way, and also wondering if this might require the PBX to set the nat64 proxy ipv4 address as the default gateway?
So far I got the proxy setup with 2 vNIC's each with an ipv4 and ipv6 address. For the second nick I managed to set a static route to 2 other FreeBSD servers and this did allow ping though ssh worked sometimes sometimes not from the other servers. Then tried out routing with fib in rc.conf...
# main
ifconfig_hn0="SYNCDHCP"
ifconfig_hn0_ipv6="inet6 fddd:dddd:dddd:1::6 prefixlen 64"
ipv6_defaultrouter="fddd:dddd:dddd:1::6"
# proxy
ifconfig_hn1="inet 192.168.90.90 netmask 255.255.255.0 fib 1"
static_routes="r1 r2"
route_r1="-inet 192.168.90.0/24 192.168.90.1 -fib 1"
route_r2="-inet default 192.168.90.1 -fib 1"
ifconfig_hn1_ipv6="inet6 fddd:aaaa:aaaa:1::90 prefixlen 64 fib 1"
ipv6_static_routes="v1 v2"
ipv6_route_v1="fddd:aaaa:aaaa:1:: -prefixlen 64 fddd:aaaa:aaaa:1::90 -fib 1"
ipv6_route_v2=":: fddd:aaaa:aaaa:1::90 -fib 1"
I could ping all 4 addresses, but only ssh to the main NIC. I checked with ipfw log and clearly the ssh request comes in by hn1 and then tries to go out hn0. Getting this to work isn't that important so move on.
For testing I'd like to be able to send a curl request to the second NIC interface and get a web page from an IP address setup in ipfw.rules. I have used nat before to forward connections to an internal VM but I am stumped. Anyone have idea where to start. The bsdrp page doesn't seem that complete. I have used simple tables before for a list of addresses to firewall. I noticed bsdrp is using key value pairs.
Thanks in advance
I setup a FreeBSD server on Azure (ping times are good but probably not the best choice since connections are natted but I won't digress). I was looking at the ipfw nat64 and the page at https://bsdrp.net/documentation/examples/nat64#nat64 .. and I am frankly kind of lost. Maybe going about this all the wrong way, and also wondering if this might require the PBX to set the nat64 proxy ipv4 address as the default gateway?
So far I got the proxy setup with 2 vNIC's each with an ipv4 and ipv6 address. For the second nick I managed to set a static route to 2 other FreeBSD servers and this did allow ping though ssh worked sometimes sometimes not from the other servers. Then tried out routing with fib in rc.conf...
# main
ifconfig_hn0="SYNCDHCP"
ifconfig_hn0_ipv6="inet6 fddd:dddd:dddd:1::6 prefixlen 64"
ipv6_defaultrouter="fddd:dddd:dddd:1::6"
# proxy
ifconfig_hn1="inet 192.168.90.90 netmask 255.255.255.0 fib 1"
static_routes="r1 r2"
route_r1="-inet 192.168.90.0/24 192.168.90.1 -fib 1"
route_r2="-inet default 192.168.90.1 -fib 1"
ifconfig_hn1_ipv6="inet6 fddd:aaaa:aaaa:1::90 prefixlen 64 fib 1"
ipv6_static_routes="v1 v2"
ipv6_route_v1="fddd:aaaa:aaaa:1:: -prefixlen 64 fddd:aaaa:aaaa:1::90 -fib 1"
ipv6_route_v2=":: fddd:aaaa:aaaa:1::90 -fib 1"
I could ping all 4 addresses, but only ssh to the main NIC. I checked with ipfw log and clearly the ssh request comes in by hn1 and then tries to go out hn0. Getting this to work isn't that important so move on.
For testing I'd like to be able to send a curl request to the second NIC interface and get a web page from an IP address setup in ipfw.rules. I have used nat before to forward connections to an internal VM but I am stumped. Anyone have idea where to start. The bsdrp page doesn't seem that complete. I have used simple tables before for a list of addresses to firewall. I noticed bsdrp is using key value pairs.
Thanks in advance