Network Configuration
IP Address Assignment for Internal, External and Management Interfaces
Each interface in AWS can have private and public IP addresses. Sample CloudFormation Templates provided by Pulse Policy Secure creates the Pulse Policy Secure Virtual Appliance with public and private IP addresses for external and management interfaces and only private IP address for internal interface. More details about IP address types on AWS can be seen at: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html
IP Addressing Modes
When Pulse Policy Secure gets deployed by using the sample templates provided by Pulse Secure, Pulse Policy Secure comes up with multiple interfaces. If you take an example of a template “pulsesecure-PPS-3-nics.zip” provided by Pulse Secure, you notice the following things.
PPS external interface and PPS management interface have both Elastic and Private IP addresses.
Modifying Network Parameters After Deployment
Since Networking Infrastructure is provided by AWS, a PPS admin cannot change Networking configuration after deployment. Hence, both admin UI and ssh do not support changing network configuration.
Controlling the Selection of Internal, External and Management Interfaces
Sample CloudFormation template, provided by Pulse Secure, requests AWS fabric to create three Network Interfaces. While running this template, AWS fabric creates interfaces named eth0, eth1 and eth2 and attaches them to PPS Virtual Interface.
So, the question is, among eth0, eth1 and eth2 which network interface will become external, internal or management interface? Below table answers this question.
Interface Name |
PPS Interface |
---|---|
eth0 |
internal interface |
eth1 |
external interface |
eth2 |
management interface |
Then, question is how you can control the order of network interfaces named eth0, eth1 and eth2 created through CloudFormation template?
The Pulse Policy Secure Virtual Appliance is qualified with internal interface as primary and other two are secondary. In the following code snippet, three network interfaces get assigned to VM. These three NICs with ID “nic1”, “nic2” and “nic3” are internally mapped to ‘eth0’, ‘eth1’, and ‘eth2’ respectively.
"EC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {"Ref": "PPSImageAMIId"},
"KeyName": {"Ref": "KeyName"},
"InstanceType": {"Ref": "InstanceType"},
"NetworkInterfaces": [
{"NetworkInterfaceId": {"Ref": "Eth0"}, "DeviceIndex": "0"},
{"NetworkInterfaceId": {"Ref": "Eth1"}, "DeviceIndex": "1"},
{"NetworkInterfaceId": {"Ref": "Eth2"}, "DeviceIndex": "2"}
],
"Tags" : [
{"Key": "Name",
"Value": {"Fn::Join": [ "-", [ { "Ref": "AWS::StackName" }, "PPSvAWS" ] ] }
}
],
"UserData": {"Fn::Base64": {"Fn::Join": ["", [{"Ref": "PPSConfigData"}]]}}
}
},
PPS converts eth0 to int0, eth1 to ext0 and eth2 to mgmt0. This means, the network interface with ID nic1 will be internal interface, nic2 will be external interface and nic3 will be management interface.
The below table depicts this scenario well:
Interface Name |
PPS Interface |
Network ID |
---|---|---|
eth0 |
internal interface |
nic1 |
eth1 |
external interface |
nic2 |
eth2 |
management interface |
nic3 |