Well, in terms of online, I think it is hard to do unless you are on a Discord call or something. I'm not much of a poker player, but what is the benefit of having collusion? Most likely, it is to gang up on one player? I mean, that's just really unfair.
Better chances of winning by manipulating the game with a joint strategy. Perhaps if you are thinking of small bet tables it may not be worth the trouble for you, but think of bigger tables. 8 players, $10k each. Even if all 7 people colluded, it is still $10k to be split among them. Pretty easy money, low risk. Online collusion is hard to prevent. Random matching helps.
I believe it can be easily controled by casinos of they set their matching systems so people from similar IPs cannot end up in the same table. It would be similar to systems which are used by cooperative games on the internet to prevent players from the same IP address from colluding against other participants.
What do you mean with similar IPs? The same city, region, state, country? Such limits are arbitrary and actually do not prevent collusion.
It would also require casinos not to allow their poker players to make use of VPNs to mask their IP address.
A residential proxy can easily defeat this ban, so neither does this work.
Id the IP address is basically the same of any other poker player on the table, then it is assumed they are within the same building or sharing the same internet connection, which would be suspicious enough for the casino to limit the access of one of those poker players onto the table. Realistically, two people geographically separated could still communicate between them through the use of tools like Whatsapp and Discord, so the IP filter would not be completely effective. However, there is also a possibility not to allow gamblers to choose what table they would be playing on, but rather assign them a random table so they play against strangers, this way it becomes extremely unlikely any collusion happens.