pppoe telekom
This commit is contained in:
parent
5274639ca3
commit
e4e3c57f20
9 changed files with 143 additions and 6 deletions
|
@ -3,6 +3,9 @@ for network_name, network_conf in node.metadata.get('network').items():
|
|||
svc_systemd[f'qdisc-{network_name}.service'] = {
|
||||
'enabled': True,
|
||||
'running': None,
|
||||
'needs': {
|
||||
f'file:/usr/local/lib/systemd/system/qdisc-{network_name}.service',
|
||||
},
|
||||
}
|
||||
actions[f'qdisc-{network_name}.service_restart_workaround'] = {
|
||||
'command': 'true',
|
||||
|
|
|
@ -2,6 +2,23 @@
|
|||
|
||||
flush ruleset
|
||||
|
||||
% if nat:
|
||||
table ip nat {
|
||||
|
||||
# NAT
|
||||
|
||||
chain postrouting {
|
||||
type nat hook postrouting priority 100
|
||||
policy accept
|
||||
|
||||
# rules
|
||||
% for rule in sorted(nat):
|
||||
${rule}
|
||||
% endfor
|
||||
}
|
||||
}
|
||||
% endif
|
||||
|
||||
table inet filter {
|
||||
|
||||
# INPUT
|
||||
|
|
|
@ -6,6 +6,7 @@ files = {
|
|||
'input': node.metadata.get('nftables/input'),
|
||||
'forward': node.metadata.get('nftables/forward'),
|
||||
'output': node.metadata.get('nftables/output'),
|
||||
'nat': node.metadata.get('nftables/nat'),
|
||||
},
|
||||
'triggers': [
|
||||
'svc_systemd:nftables.service:reload',
|
||||
|
|
36
bundles/pppoe/REAMDE.md
Normal file
36
bundles/pppoe/REAMDE.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Firtzbox
|
||||
|
||||
Internet > Zugangsdaten
|
||||
|
||||
Internetanbieter
|
||||
- weitere Internetanbieter
|
||||
- anderer Internetanbieter
|
||||
- Name: "My PPPOE" (nicht leer lassen)
|
||||
|
||||
Anschluss
|
||||
(x) Anschluss an einen DSL-Anschluss
|
||||
|
||||
Zugangsdaten
|
||||
(x) Nein
|
||||
|
||||
Verbindungseinstellungen
|
||||
|
||||
[x] VLAN für den Internetanschluss verwenden
|
||||
VLAN-ID: 7
|
||||
PBit: 0
|
||||
|
||||
DSL-ATM-Einstellungen
|
||||
VPI: 1
|
||||
VCI: 32
|
||||
|
||||
Kapselung
|
||||
(x) Routed Bridge Encapsulation
|
||||
[x] IP-Adresse automatisch über DHCP beziehen
|
||||
DHCP-Hostname: fritz.box
|
||||
|
||||
PPPoE-Passthrough
|
||||
[x] Angeschlossene Netzwerkgeräte dürfen zusätzlich ihre eigene Internetverbindung aufbauen (nicht empfohlen)
|
||||
|
||||
[ ] Internetzugang nach dem "Übernehmen" prüfen
|
||||
|
||||
-> Danach muss bei "Internetanbieter" statt "weitere Internetanbieter" der gewählte Name stehen, also zB "My PPPOE"
|
3
bundles/pppoe/files/chap-secrets
Normal file
3
bundles/pppoe/files/chap-secrets
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Secrets for authentication using CHAP
|
||||
# client server secret IP addresses
|
||||
"${user}" * "${secret}" *
|
10
bundles/pppoe/files/isp
Normal file
10
bundles/pppoe/files/isp
Normal file
|
@ -0,0 +1,10 @@
|
|||
linkname ppp0
|
||||
noauth
|
||||
defaultroute
|
||||
replacedefaultroute
|
||||
persist
|
||||
maxfail 0
|
||||
lcp-echo-interval 20
|
||||
lcp-echo-failure 3
|
||||
plugin rp-pppoe.so enp2s0
|
||||
user "${user}"
|
36
bundles/pppoe/items.py
Normal file
36
bundles/pppoe/items.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
files = {
|
||||
'/etc/modules-load.d/pppoe.conf': {
|
||||
'content': 'pppoe\npppox\nppp_generic',
|
||||
'mode': '0644',
|
||||
},
|
||||
'/etc/ppp/peers/isp': {
|
||||
'content_type': 'mako',
|
||||
'mode': '0644',
|
||||
'context': {
|
||||
'user': node.metadata.get('pppoe/user'),
|
||||
},
|
||||
'needs': {
|
||||
'pkg_apt:pppoe',
|
||||
},
|
||||
},
|
||||
'/etc/ppp/chap-secrets': {
|
||||
'content_type': 'mako',
|
||||
'mode': '0600',
|
||||
'context': {
|
||||
'user': node.metadata.get('pppoe/user'),
|
||||
'secret': node.metadata.get('pppoe/secret'),
|
||||
},
|
||||
'needs': {
|
||||
'pkg_apt:pppoe',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
svc_systemd = {
|
||||
'pppoe-isp.service': {
|
||||
'needs': {
|
||||
'file:/etc/ppp/peers/isp',
|
||||
'file:/etc/ppp/chap-secrets',
|
||||
},
|
||||
},
|
||||
}
|
29
bundles/pppoe/metadata.py
Normal file
29
bundles/pppoe/metadata.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'pppoe': {},
|
||||
},
|
||||
},
|
||||
'nftables': {
|
||||
'nat': {
|
||||
'oifname ppp0 masquerade',
|
||||
},
|
||||
},
|
||||
'systemd': {
|
||||
'units': {
|
||||
'pppoe-isp.service': {
|
||||
'Unit': {
|
||||
'Description': 'PPPoE Internet Connection',
|
||||
'After': 'network.target',
|
||||
},
|
||||
'Service': {
|
||||
'Type': 'forking',
|
||||
'ExecStart': '/usr/sbin/pppd call isp',
|
||||
'Restart': 'on-failure',
|
||||
'RestartSec': 5,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
}
|
|
@ -11,6 +11,7 @@
|
|||
'bundles': [
|
||||
'kea-dhcpd',
|
||||
'wireguard',
|
||||
'pppoe',
|
||||
],
|
||||
'metadata': {
|
||||
'id': '1d6a43e5-858c-42f9-9c40-ab63d61c787c',
|
||||
|
@ -28,12 +29,9 @@
|
|||
'dhcp_server': True,
|
||||
},
|
||||
'external': {
|
||||
'type': 'vlan',
|
||||
'vlan_interface': 'internal',
|
||||
'id': 3,
|
||||
'ipv4': '10.0.99.126/24',
|
||||
'gateway4': '10.0.99.1',
|
||||
'qdisc': 'cake bandwidth 40Mbit diffserv4',
|
||||
'interface': 'enp2s0',
|
||||
'ipv4': '10.0.98.2/24',
|
||||
#'qdisc': 'cake bandwidth 35Mbit diffserv4',
|
||||
},
|
||||
'proxmox': {
|
||||
'type': 'vlan',
|
||||
|
@ -61,6 +59,10 @@
|
|||
'master_node': 'htz.mails',
|
||||
'hostname': 'home.resolver.name',
|
||||
},
|
||||
'pppoe': {
|
||||
'user': '!decrypt:encrypt$gAAAAABocUfodLqCBKPPN7H9S64yJ7kRddtaWI0nQU2oklPMEjBhMsir4NL2yjkcHXAN-Ozqn6FCokyE1AL8ek3c5CqAvd83jkxZytp-oclrKqUD9uhUCy4=',
|
||||
'secret': '!decrypt:encrypt$gAAAAABocUhmDqFZsyHYBIP2qdMFIS1eWT_bPdyv98cHzIgeKFAxDfcCrVJwDxVPFDDMa_7UT76HDJLvtdYQ8mFl2RL0yR8k2A=='
|
||||
},
|
||||
'sysctl': {
|
||||
'net': {
|
||||
'ipv4': {
|
||||
|
|
Loading…
Reference in a new issue