|
@@ -173,10 +173,10 @@ configure_netclient() {
|
|
sleep 2
|
|
sleep 2
|
|
# create network for internet access vpn
|
|
# create network for internet access vpn
|
|
if [ "$INSTALL_TYPE" = "pro" ]; then
|
|
if [ "$INSTALL_TYPE" = "pro" ]; then
|
|
- echo "creating internet-access-vpn network"
|
|
|
|
- nmctl network create --name internet-access-vpn --ipv4_addr 100.65.0.0/16
|
|
|
|
- sleep 5
|
|
|
|
INET_NODE_ID=$(sudo cat /etc/netclient/nodes.json | jq -r .internet-access-vpn.id)
|
|
INET_NODE_ID=$(sudo cat /etc/netclient/nodes.json | jq -r .internet-access-vpn.id)
|
|
|
|
+ nmctl node create_remote_access_gateway internet-access-vpn $INET_NODE_ID
|
|
|
|
+ out=$(nmctl node list -o json | jq -r '.[] | select(.id=="$INET_NODE_ID") | .ingressdns = "8.8.8.8"')
|
|
|
|
+ curl --location --request PUT "https://api.${NETMAKER_BASE_DOMAIN}/api/nodes/internet-access-vpn/${INET_NODE_ID}" --data ${out} --header "Authorization: Bearer ${MASTER_KEY}"
|
|
curl --location --request POST "https://api.${NETMAKER_BASE_DOMAIN}/api/v1/nodes/internet-access-vpn/${INET_NODE_ID}/inet_gw" --data '{}' --header "Authorization: Bearer ${MASTER_KEY}"
|
|
curl --location --request POST "https://api.${NETMAKER_BASE_DOMAIN}/api/v1/nodes/internet-access-vpn/${INET_NODE_ID}/inet_gw" --data '{}' --header "Authorization: Bearer ${MASTER_KEY}"
|
|
fi
|
|
fi
|
|
|
|
|
|
@@ -743,51 +743,58 @@ test_connection() {
|
|
setup_mesh() {
|
|
setup_mesh() {
|
|
|
|
|
|
wait_seconds 5
|
|
wait_seconds 5
|
|
|
|
+ netmakerNet=$(nmctl network list -o json | jq -r '.[] | .netid' | grep -w "netmaker")
|
|
|
|
+ inetNet=$(nmctl network list -o json | jq -r '.[] | .netid' | grep -w "internet-access-vpn")
|
|
|
|
|
|
- local networkCount=$(nmctl network list -o json | jq '. | length')
|
|
|
|
-
|
|
|
|
- # add a network if none present
|
|
|
|
- if [ "$networkCount" -lt 1 ]; then
|
|
|
|
|
|
+ # create netmaker network
|
|
|
|
+ if [[ ${netmakerNet} = "" ]]; then
|
|
echo "Creating netmaker network (100.64.0.0/16)"
|
|
echo "Creating netmaker network (100.64.0.0/16)"
|
|
# TODO causes "Error Status: 400 Response: {"Code":400,"Message":"could not find any records"}"
|
|
# TODO causes "Error Status: 400 Response: {"Code":400,"Message":"could not find any records"}"
|
|
nmctl network create --name netmaker --ipv4_addr 100.64.0.0/16
|
|
nmctl network create --name netmaker --ipv4_addr 100.64.0.0/16
|
|
|
|
|
|
|
|
+
|
|
wait_seconds 5
|
|
wait_seconds 5
|
|
fi
|
|
fi
|
|
-
|
|
|
|
- echo "Obtaining a netmaker enrollment key..."
|
|
|
|
|
|
+ # create enrollment key for netmaker network
|
|
local netmakerTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "netmaker")
|
|
local netmakerTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "netmaker")
|
|
- if [[ ${netmakerTag} = "netmaker" ]]; then
|
|
|
|
- # key exists already, fetch token
|
|
|
|
- TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker") | .token')
|
|
|
|
- else
|
|
|
|
- local tokenJson=$(nmctl enrollment_key create --tags netmaker --unlimited --networks netmaker)
|
|
|
|
- TOKEN=$(jq -r '.token' <<<${tokenJson})
|
|
|
|
- if test -z "$TOKEN"; then
|
|
|
|
- echo "Error creating an enrollment key"
|
|
|
|
- exit 1
|
|
|
|
- else
|
|
|
|
- echo "Enrollment key ready"
|
|
|
|
|
|
+ if [[ ${netmakerTag} = "" ]]; then
|
|
|
|
+ nmctl enrollment_key create --tags netmaker --unlimited --networks netmaker
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ # create internet-access-vpn
|
|
|
|
+ if [ "$INSTALL_TYPE" = "pro" ]; then
|
|
|
|
+ if [[ ${inetNet} = "" ]]; then
|
|
|
|
+ echo "Creating internet-access-vpn network (100.65.0.0/16)"
|
|
|
|
+ # TODO causes "Error Status: 400 Response: {"Code":400,"Message":"could not find any records"}"
|
|
|
|
+ nmctl network create --name internet-access-vpn --ipv4_addr 100.65.0.0/16
|
|
|
|
+ wait_seconds 5
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ # create enrollment key for internet-access-vpn network
|
|
|
|
+ local inetTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "internet-access-vpn")
|
|
|
|
+ if [[ ${inetTag} = "" ]]; then
|
|
|
|
+ nmctl enrollment_key create --tags internet-access-vpn --unlimited --networks internet-access-vpn
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ # create enrollment key for both networks
|
|
|
|
+ local netInetTag=$(nnmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "netmaker-inet")
|
|
|
|
+ if [[ ${netInetTag} = "" ]]; then
|
|
|
|
+ nmctl enrollment_key create --tags netmaker-inet --unlimited --networks netmaker,internet-access-vpn
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
- # if [ "$INSTALL_TYPE" = "pro" ]; then
|
|
|
|
- # local inetTag=$(nmctl enrollment_key list | jq -r '.[] | .tags[0]' | grep -w "internet-access-vpn")
|
|
|
|
- # if [[ ${inetTag} = "internet-access-vpn" ]]; then
|
|
|
|
- # # key exists already, fetch token
|
|
|
|
- # InetTOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="internet-access-vpn") | .token')
|
|
|
|
- # else
|
|
|
|
- # local tokenJson=$(nmctl enrollment_key create --tags internet-access-vpn --unlimited --networks internet-access-vpn)
|
|
|
|
- # InetTOKEN=$(jq -r '.token' <<<${tokenJson})
|
|
|
|
- # if test -z "$InetTOKEN"; then
|
|
|
|
- # echo "Error creating an enrollment key"
|
|
|
|
- # exit 1
|
|
|
|
- # else
|
|
|
|
- # echo "Enrollment key ready"
|
|
|
|
- # fi
|
|
|
|
- # fi
|
|
|
|
-
|
|
|
|
- # fi
|
|
|
|
|
|
+ if [ "$INSTALL_TYPE" = "pro" ]; then
|
|
|
|
+ # create enrollment key for both setup networks
|
|
|
|
+ echo "Obtaining enrollment key..."
|
|
|
|
+ # key exists already, fetch token
|
|
|
|
+ TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker-inet") | .token')
|
|
|
|
+
|
|
|
|
+ else
|
|
|
|
+
|
|
|
|
+ echo "Obtaining enrollment key..."
|
|
|
|
+ # key exists already, fetch token
|
|
|
|
+ TOKEN=$(nmctl enrollment_key list | jq -r '.[] | select(.tags[0]=="netmaker") | .token')
|
|
|
|
+ fi
|
|
|
|
|
|
wait_seconds 3
|
|
wait_seconds 3
|
|
|
|
|