Commit Graph

355 Commits (6f58093a0646c6433ff19fa1bed468a85b9a5d74)

Author SHA1 Message Date
Jack Ivanov 6f58093a06
Update azure regions
Closes #1492
5 years ago
Jack Ivanov 8602a697cc
dnscrypt-proxy as a dns adblocker (#1480)
* Move DNS adblocking to dnscrypt-proxy

* Update docs

* remove unneeded variable dnscrypt_proxy_version

* Update to the latest dnscrypt-proxy version

* install.sh fix

* spelling
5 years ago
rodeodomino fa5b86961c Adding ipv6 localhost to the listen addresses (#1476) 5 years ago
elreydetoda 146cbc71ce Adding preshared key support (#1465)
* adding preshared key generation

* adding preshared folder

* Update client.conf.j2

adding preshared key options

* adding preshared keys to server template

* making sure private preshared is right

* making sure preshared keygen working for main.yml

* changing private to preshared for name

* changing to preshared dir instead of public
5 years ago
Jack Ivanov 498cf46391 Block link-local networks. Block traffic from SSH tunnels to VPN clients (#1458) 5 years ago
Jack Ivanov a2fdc509e1
Support for Ubuntu 19.04 (#1405)
* Ubuntu 19.04

* Azure to 19.04
5 years ago
Jack Ivanov c27aed708a
EC2 eip facts authentication fix (#1454)
* EC2 eip facts authentication fix

* add region to ec2_eip_facts
5 years ago
Elliot Murphy e3a6170ae6 AWS support for existing EIP (revised) (#1292)
* Support for associating to existing AWS Elastic IP

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Backport ec2_eip_facts module for EIP support

This means that EIP support no longer requires Ansible 2.6
The local fact module has been named ec2_elasticip_facts
to avoid conflict with the ec2_eip_facts module whenever
the Ansible 2.6 upgrade takes place.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Update from review feedback.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Move to the native module. Add additional condition for existing Elastic IP
5 years ago
shapiro125 72c8e9e244 Add IPv6 support to DNS (#1425)
* Add ipv6

* Add ipv6

* add ipv6

* add ipv6

* Switching out ipv6 address with local_service_ipv6 variable from #1429

* Fixing variable error
5 years ago
Anton Strogonoff 368ebc8625 fix: Use wait_for_connection to avoid failure (#1381)
With preexisting wait_for implementation, deployment to Ubuntu on Lightsail failed with a connection reset error on this task. It appears that Ansible’s wait_for_connection is the recommended way. I have successfully gotten past this task after this change, however I’d appreciate more eyes on this.
5 years ago
Jack Ivanov 5904546a48
Randomly generated IP address for the local dns resolver (#1429)
* generate service IPs dynamically

* update cloud-init tests

* exclude ipsec and wireguard ranges from the random service ip

* Update docs

* @davidemyers: update wireguard docs for linux

* Move to netaddr filter

* AllowedIPs fix

* WireGuard IPs fix
5 years ago
Rémy Léone 826a2c5036 Add documentation about Scaleway credentials (#1419) 5 years ago
Jack Ivanov 6b33d09d9f
Scaleway modules (#1410)
* Scaleway modules

* Update docs
5 years ago
Jack Ivanov d6a1fb91bd
WIP: Facts definition fix (#1415)
Facts definition fix
5 years ago
TC1977 faa4b9a8da Automatically create cloud firewall rules for installs onto Vultr (#1400)
* Update main.yml

* Change module names and add IPv6 firewall rules

Uses guide at https://www.renemoser.net/blog/2018/03/19/vultr-firewalling-with-ansible/ written by Rene Moser.

* change vultr to vr

* add ip_version to firewall rules

* add SSH access rules

* Use variable for wireguard port

* update module names for ansible 2.7

* Fix trailing whitespaces

* Try to fix trailing whitespaces again
6 years ago
Jack Ivanov 25513cf925 Refactoring, Linting and additional tests (#1397)
* Refactoring, Linting and additional tests

* Vultr: Undefined variable and deprecation notes fix

* Travis-CI enable linters

* Azure: Update python requirements

* Update main.yml

* Update install.sh

* Add missing roles to ansible-lint

* Linting for skipped roles

* add .ansible-lint config
6 years ago
Jack Ivanov 1e35753aa2
Update openssl.yml (#1403) 6 years ago
Jack Ivanov 1c7e1dc331
Move `Delete the CA key` task to the appropriate role (#1393) 6 years ago
TC1977 d969b8e1b6 Fix 963 again (#1379)
* Create charon.conf.j2

Create charon.conf template with mods

* Update mobileconfig.j2

Increase client side lifetimes

* Update ipsec.conf.j2

Add server-side lifetimes

* Add charon.conf
6 years ago
Jack Ivanov c4ea88000b Refactoring to support roles inclusion (#1365) 6 years ago
David Myers d50a2039a6 Use VULTR_API_CONFIG variable if set (#1374) 6 years ago
Jack Ivanov cf4d5b47a9
IPv6 range to AllowedIPs only when ipv6_support (#1388) 6 years ago
Jack Ivanov 84bbc0e22c
Update ubuntu.yml (#1383) 6 years ago
adamluk d996b1d02f Update 10-algo-lo100.network.j2 (#1369) 6 years ago
Fabian Foerg 13c4628b5d Simplify Apple Profile Configuration Template (#1033)
* Simplify Apple Profile Configuration Template

* enable lstrip_blocks

* remove ldashes
6 years ago
Jack Ivanov 30beadb949
Modify naming in the cloud resources and client config files (#1353)
* Modify naming in the cloud resources and client config files

* Azure template: Eliminate unneeded variables
6 years ago
Jack Ivanov 4ae5972f94
Start dnscrypt-proxy after systemd-resolved (#1357) 6 years ago
Jack Ivanov 273c7665d3 Refactoring (#1334)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Renames the vpn role to strongswan, and split up the variables to support 2 separate VPNs. Closes #1330 and closes #1162
Configures Ansible to use python3 on the server side. Closes #1024 
Removes unneeded playbooks, reorganises a lot of variables
Reorganises the `config` folder. Closes #1330
<details><summary>Here is how the config directory looks like now</summary>
<p>

```
configs/X.X.X.X/
|-- ipsec
|   |-- apple
|   |   |-- desktop.mobileconfig
|   |   |-- laptop.mobileconfig
|   |   `-- phone.mobileconfig
|   |-- manual
|   |   |-- cacert.pem
|   |   |-- desktop.p12
|   |   |-- desktop.ssh.pem
|   |   |-- ipsec_desktop.conf
|   |   |-- ipsec_desktop.secrets
|   |   |-- ipsec_laptop.conf
|   |   |-- ipsec_laptop.secrets
|   |   |-- ipsec_phone.conf
|   |   |-- ipsec_phone.secrets
|   |   |-- laptop.p12
|   |   |-- laptop.ssh.pem
|   |   |-- phone.p12
|   |   `-- phone.ssh.pem
|   `-- windows
|       |-- desktop.ps1
|       |-- laptop.ps1
|       `-- phone.ps1
|-- ssh-tunnel
|   |-- desktop.pem
|   |-- desktop.pub
|   |-- laptop.pem
|   |-- laptop.pub
|   |-- phone.pem
|   |-- phone.pub
|   `-- ssh_config
`-- wireguard
    |-- desktop.conf
    |-- desktop.png
    |-- laptop.conf
    |-- laptop.png
    |-- phone.conf
    `-- phone.png
```

![finder](https://i.imgur.com/FtOmKO0.png)

</p>
</details>

## Motivation and Context
This refactoring is focused to aim to the 1.0 release

## How Has This Been Tested?
Deployed to several cloud providers with various options enabled and disabled

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Refactoring

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] All new and existing tests passed.
6 years ago
Tim H b4740185e8 Add catch-all VPN On Demand Rule (#739)
If a user is not connected to a trusted Wi-Fi network or if the
URLStringProbe fails none of the existing dictionaries match.

According to the Apple Configuration Profile Reference[1] section "VPN
Payload > On Demand Rules Dictionary Keys" a default behavior for
unknown networks with no matching criteria should always be set as the
last dictionary in the array. The current default behavior is to allow a
connection to occur, but this behavior is not guaranteed.

Tear down the VPN connection and do not reconnect on demand as long as
the catch-all dictionary matches to guarantee the default behavior and
more specifically allow users to access captive portals.

[1]: https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html
6 years ago
Demian 5e5424df69 fix OS is undefined error (#1335) 6 years ago
Jack Ivanov ec56203b87
Support for custom domain names in the endpoint (#1337) 6 years ago
Jack Ivanov 216cd09dcf
Disable wireguard PersistentKeepalive by default (#1338) 6 years ago
Jack Ivanov 40b42c4f33
Get started with Azure more easily (#1323) 6 years ago
Jack Ivanov 43ed5b2aaa
add flags=(attach_disconnected) to dnscrypt-proxy apparmor profile (#1312) 6 years ago
Jack Ivanov c47dd4a7ab encode wifi networks to base64 (#1303) 6 years ago
Jack Ivanov a266b4d633 Allow windows users install VPN for all users in the system (#1310) 6 years ago
Luvpreet Singh 6233642c66 fix(update-users): changed generate p12 password task (#1289)
Changed task's module to generic python format for python2 and python3.
6 years ago
Jack Ivanov 7a6daff1ff IPv6 fix (#1302) 6 years ago
Angel Montes de Oca 44ab95f12b Include Algo generated password (#1272)
I change a line to Include the Algo generated password so the users do not need to manually enter the password when installing on Windows 10 computers.
6 years ago
David Myers 5981bb9cad Replace 'max_mss' with 'reduce_mtu' (#1253) 6 years ago
Jack Ivanov 955a986c21
IPv6 forwarding fixes (#1256) 6 years ago
Jack Ivanov a6cd89564d
Fixes #1246 6 years ago
Federico G. Schwindt a4f2c97fd2 Fix ipv4 address missing on reboot (#1245) 6 years ago
David Myers 66681521c1 Increase memory limit for dnsmasq (#1228)
* Increase memory limit for dnsmasq

* Increase memory limit for dnsmasq further
6 years ago
David Myers 8d23f715d7 Run adblock.sh at a random time (#1227) 6 years ago
David Myers 22395f5f84 Add p12 password back to mobileconfigs (#1218) 6 years ago
Jack Ivanov a66d8f0069 on-build python venvs (#1199) 6 years ago
Jack Ivanov 9187d8e637 dnscrypt-proxy apparmor fix (#1210)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Apparmor profile for dnscrypt-proxy didn't work at all

## Motivation and Context
Fixes #1155

## How Has This Been Tested?
Deployed to DigitalOcean, checked that the dnscrypt-proxy binary is in enforce mode

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] All new and existing tests passed.
6 years ago
Jack Ivanov 45b00ee994
BSD StrongSwan fixes (#1207) 6 years ago
Jack Ivanov 66d30e3005
WireGuard update-users fix (#1183) 6 years ago