1. How to use multiple IPs to host 1 RUST server?
    It's would be cool for DDoS mitigation.
     
  2. Assuming you'll have multiple IPs redirecting to the same server, attacking any of those IPs would attack the main server, so there would be no mitigation.
    Switching between IPs would require you to kick all of your users, which is obviously not desirable either. It's pretty much impossible for the Rust devs to make it possible to distribute Rust using multiple servers in an LBC because there's too much realtime state involved.
     
  3. No, I can send answer from other IPs to client IP/Port with next TCP packet sequence number and Rust client use another IP for communication.
    So, I can dissable IP and reuse another IP without players disconnect.
    It's checked.

    How to setup the server to listen on multiple IPs, to receive new connections ?
     
    Last edited by a moderator: Apr 22, 2016
  4. I've explained that part.
    "It's pretty much impossible for the Rust devs to make it possible to distribute Rust using multiple servers in an LBC because there's too much realtime state involved."
    There is currently no way to do what you want to do and it is pretty much impossible to do as there's too much realtime state involved to sync between multiple servers.
    The only other approach I can think of would be to sync all the state right before the server dies, but this is not implemented and a smooth transition is almost impossible as the server would have to halt and then sync 6GB+ of state with your other server. Even then, there's nothing that keeps people from just directly attacking the other server as well, rendering this useless.
    [DOUBLEPOST=1461339375][/DOUBLEPOST]Also, assuming you only have a single server, your approach is pretty pointless.
    To change IPs during execution you have to inform any connected client about the new IP, so what keeps me from just grabbing that IP and then attacking the new IP?
     
    Last edited by a moderator: Apr 22, 2016
  5. You're accepting connections on one server and after accepting the connection you're redirecting players to a different server.
    This kind of distribution is possible because it's mostly stateless. This however does not work for packets involved after a player is connected, since from that point onwards, a lot of realtime state is involved.

    What I'm saying is that you cannot easily split up the actual game communication onto multiple servers, because that would require you to synchronize both servers.

    If I wanted to attack your current setup I could do a couple of things:
    • Attack your redirection server. This will keep new players from joining, players already ingame will be able to play flawlessly.
    • Overload your actual game server. This server will discard packets by clients that aren't connected, so more force is required to take down the server, but it's still possible.
    I am sure there are other ways as well, even if it's just overloading your router.
    Handling DDoS attacks close to the host is usually not a good idea. Your approach reduces the effectiveness of conventional steam server DDoS attacks but definetly doesn't entirely get rid of the issue, and the main reason why it works so well is because the people attacking your server are likely people that don't really have a clue about what they are doing and are just using prebuilt tools.
    [DOUBLEPOST=1461342092][/DOUBLEPOST]Okay, I'll approach one more possibility of what you're trying to do.
    If what you're asking is that you want to be able to host multiple connection establishment servers, redirecting to a single game server, then that would be possible if the Rust master server allowed you to distinguish between connection establishment servers and the actual game server, which isn't possible afaik. If this is what you meant in your OP then this would indeed be cool, but probably something way overkill for most servers.
    You could also configure your router (or a host used solely for distribution) to distribute connection establishment packets to several other servers. This seems like a valid approach to reduce conventional attacks, but if you're going so far already, I'd consider using an IPS to block attackers, even before any of your connection establishment servers is reached.
     
  6. You badly know simple things: network stack and windows sockets.
     
  7. Then educate me by pointing out false assumptions, I'm eager to learn :)
     
  8. 2. Add VyOS router VIRTUAL MASHINE on the same with game server IP network.

    virtual mashine still uses the lan port on your server to handle traffic

    (porblaby iam dumb and understand it wrong :D)
     
  9. Virtual LAN it is like LAN switch and can take DDoS traffic that more than can take one physical computer directly.
    Yes, after massive DDoS you will lose some network performance.

    This topic seems deadlocked =(