@Override public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) { final RemoteAccessVpnCfgCommand command = (RemoteAccessVpnCfgCommand) cmd; final RemoteAccessVpn remoteAccessVpn = new RemoteAccessVpn(command.isCreate(), command.getIpRange(), command.getPresharedKey(), command.getVpnServerIp(), command.getLocalIp(), command.getLocalCidr(), command.getPublicInterface()); return generateConfigItems(remoteAccessVpn); }
public void createApplyVpnCommands(final boolean isCreate, final RemoteAccessVpn vpn, final VirtualRouter router, final Commands cmds) { final List<VpnUserVO> vpnUsers = _vpnUsersDao.listByAccount(vpn.getAccountId()); createApplyVpnUsersCommand(vpnUsers, router, cmds); final IpAddress ip = _networkModel.getIp(vpn.getServerAddressId()); // This block is needed due to the line 206 of the // RemoteAccessVpnManagenerImpl: // TODO: assumes one virtual network / domr per account per zone final String cidr; final Network network = _networkDao.findById(vpn.getNetworkId()); if (network == null) { final Vpc vpc = _vpcDao.findById(vpn.getVpcId()); cidr = vpc.getCidr(); } else { cidr = network.getCidr(); } final RemoteAccessVpnCfgCommand startVpnCmd = new RemoteAccessVpnCfgCommand(isCreate, ip.getAddress().addr(), vpn.getLocalIp(), vpn.getIpRange(), vpn.getIpsecPresharedKey(), vpn.getVpcId() != null); startVpnCmd.setLocalCidr(cidr); startVpnCmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId())); startVpnCmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId()); startVpnCmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); cmds.addCommand("startVpn", startVpnCmd); }
new RemoteAccessVpnCfgCommand(create, ip.getAddress().addr(), vpn.getLocalIp(), maskedIpRange, vpn.getIpsecPresharedKey(), false); createVpnCmd.setAccessDetail(NetworkElementCommand.ACCOUNT_ID, String.valueOf(network.getAccountId())); createVpnCmd.setAccessDetail(NetworkElementCommand.GUEST_NETWORK_CIDR, network.getCidr()); Answer answer = _agentMgr.easySend(externalFirewall.getId(), createVpnCmd); if (answer == null || !answer.getResult()) {
protected Answer execute(final RemoteAccessVpnCfgCommand cmd) { final String controlIp = getRouterSshControlIp(cmd); final StringBuffer argsBuf = new StringBuffer(); if (cmd.isCreate()) { argsBuf.append(" -r ").append(cmd.getIpRange()).append(" -p ").append(cmd.getPresharedKey()).append(" -s ").append(cmd.getVpnServerIp()).append(" -l ").append(cmd.getLocalIp()) .append(" -c "); argsBuf.append(" -d ").append(" -s ").append(cmd.getVpnServerIp()); argsBuf.append(" -C ").append(cmd.getLocalCidr()); argsBuf.append(" -i ").append(cmd.getPublicInterface());