mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
network: Remove logic that creates gap for multiple 'source NAT' in VR (#5532)
In ACS, when a VPC has more than one public IP and a user tries to use the non `source NAT` IP with some feature/option (like `static NAT`, `port forwarding`, `VPN` and others), ACS adds the public IP (used for the feature/option) as `source NAT` in the `iptables` of the VR. Example: - VPC has one public IP `192.168.0.50` and it is defined as the `source NAT`. - If we assign another public IP `192.168.0.51` to the VPC and use it to execute `port forwarding`, ACS will automatically add `192.168.0.51` as `source NAT` too. Co-authored-by: GutoVeronezi <daniel@scclouds.com.br>
This commit is contained in:
parent
09fce75047
commit
e92ce916f3
@ -717,17 +717,10 @@ public class CommandSetupHelper {
|
||||
|
||||
for (final PublicIpAddress ipAddr : ipAddrList) {
|
||||
final boolean add = ipAddr.getState() == IpAddress.State.Releasing ? false : true;
|
||||
boolean sourceNat = ipAddr.isSourceNat();
|
||||
/* enable sourceNAT for the first ip of the public interface
|
||||
* For additional public subnet source nat rule needs to be added for vm to reach ips in that subnet
|
||||
*/
|
||||
if (firstIP) {
|
||||
sourceNat = true;
|
||||
}
|
||||
|
||||
final String macAddress = vlanMacAddress.get(BroadcastDomainType.getValue(BroadcastDomainType.fromString(ipAddr.getVlanTag())));
|
||||
|
||||
final IpAddressTO ip = new IpAddressTO(ipAddr.getAccountId(), ipAddr.getAddress().addr(), add, firstIP, sourceNat, BroadcastDomainType.fromString(ipAddr.getVlanTag()).toString(), ipAddr.getGateway(),
|
||||
final IpAddressTO ip = new IpAddressTO(ipAddr.getAccountId(), ipAddr.getAddress().addr(), add, firstIP, ipAddr.isSourceNat(), BroadcastDomainType.fromString(ipAddr.getVlanTag()).toString(), ipAddr.getGateway(),
|
||||
ipAddr.getNetmask(), macAddress, networkRate, ipAddr.isOneToOneNat());
|
||||
|
||||
setIpAddressNetworkParams(ip, network, router);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user