nat64
parent
2befca5ea4
commit
43ed9c0c88
@ -0,0 +1,18 @@
|
||||
---
|
||||
ansible_host: 2a01:4f8:a0:9395:2::3
|
||||
#ansible_host: 10.0.4.67
|
||||
wireguard_bb_name: 'nat64'
|
||||
wireguard_bb_endpoint: '2a01:4f8:a0:9395:2::3'
|
||||
wireguard_bb_priv_key: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
39303530363738363764303964346631313532353762343263316166383534373763303538376363
|
||||
3733366465336331353939346464306162353938353666370a613166623931613430613333613139
|
||||
63356231653035663232376330363763393732666135356639663537666534326136356431663264
|
||||
6330643965613562380a623830616437653563613630663332313266623239373634643431313064
|
||||
62306263343934616462356536613235363866303736636537633766616663346363326234323532
|
||||
3862346431613738663665613661623236323139616639613432
|
||||
wireguard_bb_pub_key: '4f3BbS38u97CNN3LDUZS//vO3JTzAl6zRWovuIAGcQM='
|
||||
wireguard_bb_ipv4: '10.222.0.6'
|
||||
wireguard_bb_ipv6: 'fe80::ffbb:ffbb:6'
|
||||
wireguard_bb_port: 10106
|
||||
preferred_uplink: 'uplink2'
|
@ -1,37 +0,0 @@
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server ipv6only=on;
|
||||
server_name localhost;
|
||||
|
||||
charset UTF-8;
|
||||
|
||||
index index.html index.htm;
|
||||
root /srv/http/vnstat;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
location /nginx_status {
|
||||
stub_status on;
|
||||
access_log off;
|
||||
allow 127.0.0.1;
|
||||
allow ::1;
|
||||
deny all;
|
||||
}
|
||||
|
||||
|
||||
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf|svg)$ {
|
||||
expires 30d;
|
||||
# Optional: Don't log access to assets
|
||||
access_log off;
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
IFACES=$(ls /var/lib/vnstat/)
|
||||
|
||||
TARGET=/srv/http/vnstat/
|
||||
|
||||
for iface in $IFACES; do
|
||||
/usr/bin/vnstati -i ${iface} -h -o ${TARGET}${iface}_hourly.png
|
||||
/usr/bin/vnstati -i ${iface} -d -o ${TARGET}${iface}_daily.png
|
||||
/usr/bin/vnstati -i ${iface} -m -o ${TARGET}${iface}_monthly.png
|
||||
/usr/bin/vnstati -i ${iface} -t -o ${TARGET}${iface}_top10.png
|
||||
/usr/bin/vnstati -i ${iface} -s -o ${TARGET}${iface}_summary.png
|
||||
done
|
||||
|
||||
cat > ${TARGET}index.html <<EOT
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<titleu1 - Network Traffic</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="Content-Language" content="en" />
|
||||
</head>
|
||||
|
||||
<body style="white-space: nowrap">
|
||||
EOT
|
||||
|
||||
|
||||
for iface in $IFACES; do
|
||||
sed s/IFACE/${iface}/g >> ${TARGET}index.html <<EOT
|
||||
<div style="display:inline-block;vertical-align: top">
|
||||
<img src="IFACE_summary.png" alt="traffic summary" /><br>
|
||||
<img src="IFACE_monthly.png" alt="traffic per month" /><br>
|
||||
<img src="IFACE_hourly.png" alt="traffic per hour" /><br>
|
||||
<img src="IFACE_top10.png" alt="traffic top10" /><br>
|
||||
<img src="IFACE_daily.png" alt="traffic per day" />
|
||||
</div>
|
||||
EOT
|
||||
|
||||
done
|
||||
|
||||
echo "</body></html>" >> ${TARGET}index.html
|
||||
|
@ -1,73 +0,0 @@
|
||||
---
|
||||
- name: install vnstat
|
||||
pacman:
|
||||
name: vnstat
|
||||
state: present
|
||||
|
||||
- name: start and enable vnstat service
|
||||
systemd:
|
||||
name: vnstat.service
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
- name: add interfaces to vnstat for batman interfaces
|
||||
command: /usr/bin/vnstat -u -i bat{{ item.name }}
|
||||
args:
|
||||
creates: '/var/lib/vnstat/bat{{ item.name }}'
|
||||
with_items: "{{ sites }}"
|
||||
when: "'fastd' in group_names"
|
||||
|
||||
- name: add interfaces to vnstat for uplink interfaces
|
||||
command: /usr/bin/vnstat -u -i bb{{ hostvars[item]['wireguard_bb_name'] }}
|
||||
args:
|
||||
creates: "/var/lib/vnstat/bb{{ hostvars[item]['wireguard_bb_name'] }}"
|
||||
with_items:
|
||||
- "{{ groups['uplink'] }}"
|
||||
when: "'fastd' in group_names"
|
||||
|
||||
- name: add interfaces to vnstat for outgoing v4 interface
|
||||
command: /usr/bin/vnstat -u -i {{ ansible_default_ipv4.interface }}
|
||||
args:
|
||||
creates: '/var/lib/vnstat/{{ ansible_default_ipv4.interface }}'
|
||||
|
||||
- name: add interfaces to vnstat for outgoing v6 interface
|
||||
command: /usr/bin/vnstat -u -i {{ ansible_default_ipv6.interface }}
|
||||
args:
|
||||
creates: '/var/lib/vnstat/{{ ansible_default_ipv6.interface }}'
|
||||
|
||||
- name: add output folder for vnstat graphs
|
||||
file:
|
||||
path: /srv/http/vnstat
|
||||
state: directory
|
||||
|
||||
- name: install gd which is needed for graph generation
|
||||
pacman:
|
||||
name: gd
|
||||
state: present
|
||||
|
||||
- name: add bash script to generate vnstat graphs
|
||||
copy:
|
||||
src: vnstat.sh
|
||||
dest: /usr/local/bin/vnstat.sh
|
||||
mode: 0744
|
||||
|
||||
- name: add cronjob to generate vnstat graphs
|
||||
cron:
|
||||
name: vnstat
|
||||
minute: '*/5'
|
||||
user: root
|
||||
cron_file: vnstat
|
||||
job: '/usr/local/bin/vnstat.sh'
|
||||
|
||||
- name: add vnstat nginx config
|
||||
copy:
|
||||
src: vnstat
|
||||
dest: /etc/nginx/sites-available/vnstat
|
||||
notify: reload nginx
|
||||
|
||||
- name: enable vnstat nginx config
|
||||
file:
|
||||
src: /etc/nginx/sites-available/vnstat
|
||||
dest: /etc/nginx/sites-enabled/vnstat
|
||||
state: link
|
||||
notify: reload nginx
|
Loading…
Reference in New Issue