Skip to content

Unable to use multiple VIPs for one peer #28

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
brezuch opened this issue Feb 5, 2025 · 3 comments
Open

Unable to use multiple VIPs for one peer #28

brezuch opened this issue Feb 5, 2025 · 3 comments

Comments

@brezuch
Copy link

brezuch commented Feb 5, 2025

Hi,

I am getting the error while trying to add more than one IP address:

gocast[2196526]: F0205 15:10:26.962984 2196526 config.go:57] FATAL: Unable to decode yaml: yaml: unmarshal errors: gocast[2196526]: line 29: cannot unmarshal !!seq into string

Configured like this:

apps:
  - name: streamer_ott
    vip:
      - 10.10.10.1/32
      - 10.10.10.2/32
    vip_config:
.....
...
@mayuresh82
Copy link
Owner

This is unsupported at the moment. What is your use case for announcing multiple VIPs for the same application ?

@brezuch
Copy link
Author

brezuch commented Mar 4, 2025

Gocast is deployed for streaming HLS on multiple HW nodes (CDN) inside partners networks.

In Our application one any-cast loopback is advertised for streaming.
The issue is that lot of ISP networks in our region is using Carrier-grade NAT for limited IPv4 address space. With such clients, the source (clients) IP can be different for server (CDN node) installed inside partners network (private IP space) and different for middleware server installed outside partner network (public IP after NAT is applied for clients). This brings problem for authentication mechanism used for secure the streaming.

Simple solution for me is to advertise one more any-cast IP inside partner ISP network (middleware IP) and to use nginx proxy.

So the middleware and CDN will get same private end user source IP with no need to NAT.

The nginx in this case is used for streaming and for middleware - one application (one HTTP 80/443 port) but 2 IPs.

@mayuresh82
Copy link
Owner

as a workaround, are you able to define the 2 VIPs as 2 separate apps for now ? Something like this:

apps:
  - name: streamer_ott
    vip: 10.10.10.1/32
    vip_config: 

  - name: streamer_ott_private
     vip: 10.10.10.2/32
     vip_config:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants