working on router

This commit is contained in:
Kyle Isom 2023-04-17 17:16:35 -07:00
parent cc151e732a
commit a2e36df7a6
9 changed files with 96 additions and 16 deletions

View File

@ -9,6 +9,7 @@
- imagemagick - imagemagick
- keychain - keychain
- libarchive-tools - libarchive-tools
- lsof
- mg - mg
- nmap - nmap
- nvi - nvi

View File

@ -10,6 +10,7 @@
- cmake - cmake
- devscripts - devscripts
- gcc - gcc
- ghc
- git - git
- golang-google-genproto-dev - golang-google-genproto-dev
- golang-goprotobuf-dev - golang-goprotobuf-dev

View File

@ -1,2 +1,2 @@
router_server: False router_server: False
router_if: eth0

View File

@ -0,0 +1,8 @@
network:
version: 2
ethernets:
"{{ router_if }}":
dhcp4: False
dhcp6: False
addresses:
- "192.168.3.254/24"

View File

@ -0,0 +1,11 @@
listen-address=::1,127.0.0.1,192.168.3.254
interface={{ router_if }}
domain=wntrmute.lan
expand-hosts
server=8.8.8.8
server=8.8.4.4
dhcp-range=192.168.3.1,192.168.3.30,24h
dhcp-option=option:router,192.168.3.254
dhcp-option=option:dns-server,8.8.8.8
dhcp-authoritative

4
roles/server/files/hosts Normal file
View File

@ -0,0 +1,4 @@
127.0.0.1 localhost
192.168.3.1 cdev
192.168.3.254 orion

View File

@ -0,0 +1,2 @@
nameserver 8.8.8.8
nameserver 8.8.4.4

View File

@ -1,16 +1,54 @@
- name: set up netplan - name: set up IPv4 forwarding
become: true become: true
ansible.builtin.file: ansible.posix.sysctl:
content: | name: net.ipv4.ip_forward
network: value: '1'
version: 2 sysctl_set: true
ethernets: state: present
eth0: reload: true
dhcp4: False
dhcp6: False # # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
addresses: - name: set up NAT table
- "192.168.4.254/24" become: true
dest: /etc/netplan/20-router-eth0.yaml ansible.builtin.iptables:
table: nat
chain: POSTROUTING
jump: MASQUERADE
in_interface: "{{ router_if }}"
# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
- name: set up forwarding from {{ router_if }} to wlo1
become: true
ansible.builtin.iptables:
chain: FORWARD
in_interface: "{{ router_if }}"
out_interface: wlo1
ctstate: ESTABLISHED,RELATED
jump: ACCEPT
# iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
- name: set up forwarding
become: true
ansible.builtin.iptables:
chain: FORWARD
in_interface: "{{ router_if }}"
out_interface: wlo1
jump: ACCEPT
- name: copy hosts
become: true
ansible.builtin.copy:
src: "{{ role_path }}/files/hosts"
dest: /etc/hosts
mode: 0644
owner: root
group: root
- name: set up netplan for {{ router_if }}
become: true
ansible.builtin.template:
src: "{{ role_path }}/files/20-router.yaml.j2"
dest: /etc/netplan/20-router-{{ router_if }}.yaml
mode: 0644 mode: 0644
owner: root owner: root
group: root group: root
@ -22,16 +60,29 @@
- name: copy dnsmasq.conf - name: copy dnsmasq.conf
become: true become: true
ansible.builtin.copy: ansible.builtin.template:
src: "{{ role_path }}/files/dnsmasq.conf" src: "{{ role_path }}/files/dnsmasq.conf.j2"
dest: /etc/dnsmasq.conf dest: /etc/dnsmasq.conf
mode: 0644 mode: 0644
owner: root owner: root
group: root group: root
- name: install netmasq - name: disable systemd-resolved
become: true
ansible.builtin.service:
name: systemd-resolved
enabled: false
state: stopped
- name: install dnsmasq
become: true become: true
ansible.builtin.apt: ansible.builtin.apt:
name: dnsmasq name: dnsmasq
state: present state: present
- name: enable dnsmasq
become: true
ansible.builtin.service:
name: dnsmasq
enabled: true
state: restarted

View File

@ -40,3 +40,5 @@
dev_virt: True dev_virt: True
dev_embedded: True dev_embedded: True
dev_rust: True dev_rust: True
router_server: true
router_if: enp89s0