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