Post your project for free and start receiving proposals from freelancers within minutes after publication!
OpenVPN server with a filewall
You need to raise the OpenVPN server and firewall that will work as follows:
There must be administrators who have access to all nodes.There must be bullets of different sites (sites), and the node entering them, each of which has its own VPN certificate and VPN address.Inside these bullets the access between the nodes is open, but may be closed if necessary.There are also organizations (companies) that can combine the balls of several sites.In other cases, there is no direct connection between the bullets of different sites.Organizations and entering node should be automatically drawn from the JSON file, and the rights to the node should be automatically issued on the basis of the content of the file, while administrators, as mentioned, should always have access to all node.Example of JSON:{ “sitename_1”: {
“Nodelist” : [
by {
“hostname” means “nodename-1”
“ipaddr”: “10.8.2.103”
“Friendlyname”: “Nodename 1”
“site”: “sitename_1”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-2”
“ipaddr”: “10.8.2.104”
“Friendlyname”: “Nodename 2”
“site”: “sitename_1”
“Company”: “Company 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
and the
“sitename_2”: {
“Nodelist” : [
by {
“hostname”: “nodename-3”
“ipaddr”: “10.8.3.70”
“Friendlyname”: “Nodename 3”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-4”
“ipaddr”: “10.8.3.71”
“Friendlyname”: “Nodename 4”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-5”
“ipaddr”: “10.8.3.72”
“Friendlyname”: “Nodename 5”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
and the
“sitename_3”: {
“Nodelist” : [
by {
“hostname” means “nodename-6”
“ipaddr”: “10.8.4.20”
“Friendlyname”: “Nodename 6”
“site”: “sitename_3”
“Company”: “Sompany 2”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-7”
“ipaddr”: “10.8.4.21”
“Friendlyname”: “Nodename 7”
“site”: “sitename_3”
“Company”: “Sompany 2”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
The
The
There must be administrators who have access to all nodes.There must be bullets of different sites (sites), and the node entering them, each of which has its own VPN certificate and VPN address.Inside these bullets the access between the nodes is open, but may be closed if necessary.There are also organizations (companies) that can combine the balls of several sites.In other cases, there is no direct connection between the bullets of different sites.Organizations and entering node should be automatically drawn from the JSON file, and the rights to the node should be automatically issued on the basis of the content of the file, while administrators, as mentioned, should always have access to all node.Example of JSON:{ “sitename_1”: {
“Nodelist” : [
by {
“hostname” means “nodename-1”
“ipaddr”: “10.8.2.103”
“Friendlyname”: “Nodename 1”
“site”: “sitename_1”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-2”
“ipaddr”: “10.8.2.104”
“Friendlyname”: “Nodename 2”
“site”: “sitename_1”
“Company”: “Company 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
and the
“sitename_2”: {
“Nodelist” : [
by {
“hostname”: “nodename-3”
“ipaddr”: “10.8.3.70”
“Friendlyname”: “Nodename 3”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-4”
“ipaddr”: “10.8.3.71”
“Friendlyname”: “Nodename 4”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-5”
“ipaddr”: “10.8.3.72”
“Friendlyname”: “Nodename 5”
“site”: “sitename_2”
“Company”: “Sompany 1”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
and the
“sitename_3”: {
“Nodelist” : [
by {
“hostname” means “nodename-6”
“ipaddr”: “10.8.4.20”
“Friendlyname”: “Nodename 6”
“site”: “sitename_3”
“Company”: “Sompany 2”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
and the
by {
“hostname”: “nodename-7”
“ipaddr”: “10.8.4.21”
“Friendlyname”: “Nodename 7”
“site”: “sitename_3”
“Company”: “Sompany 2”
“connected” : 1
“updated”:”2022-08-07T09:58:19.116Z”,
“created”:”2020-11-16T22:19:06.169Z”
The
)
The
The
Another 2 proposals concealed