# vim: set et sts=4 sw=4 encoding=utf-8 :
+# First of all, we need to setup the logging framework
+import logging
+logging.basicConfig(
+ level = logging.DEBUG,
+ format = '%(asctime)s %(name)-24s %(levelname)-8s %(message)s',
+ datefmt = '%a, %d %b %Y %H:%M:%S',
+)
+
from pymin.services import *
from pymin.dispatcher import Handler
from os.path import join
class Root(Handler):
+ def __init__(self):
+ try:
+ f = file("/proc/sys/net/ipv4/ip_forward","w")
+ f.write("1")
+ f.close()
+ except (IOError, OSError), e:
+ print "Can't set ip_forward:", e
+ #self.ip.device_up_hook(self.dns)
+
firewall = FirewallHandler(
pickle_dir = join(pickle_path, 'firewall'),
- config_dir = '/tmp')
+ config_dir = join(config_path, 'firewall'))
nat = NatHandler(pickle_dir = join(pickle_path, 'nat'))
ppp = PppHandler(
pickle_dir = join(pickle_path, 'ppp'),
config_dir = {
- 'pap-secrets': '/etc/ppp',
- 'chap-secrets': '/etc/ppp',
- 'options.X': '/etc/ppp',
- 'nameX': '/etc/ppp/peers',
+ 'pap-secrets': join(config_path, 'ppp'),
+ 'chap-secrets': join(config_path, 'ppp'),
+ 'options.X': join(config_path, 'ppp'),
+ 'nameX': join(config_path, 'ppp', 'peers'),
})
+ vpn = VpnHandler(
+ pickle_dir = join(pickle_path, 'vpn'),
+ config_dir = join(config_path, 'vpn'))
+
ip = IpHandler(
pickle_dir = join(pickle_path, 'ip'),
config_dir = join(config_path, 'ip'))
dns = DnsHandler(
pickle_dir = join(pickle_path, 'dns'),
config_dir = {
- 'named.conf': '/etc',
- 'zoneX.zone': '/var/lib/named',
+ 'named.conf': join(config_path, 'dns'),
+ 'zoneX.zone': join(config_path, 'dns', 'zones'),
})
dhcp = DhcpHandler(
pickle_dir = join(pickle_path, 'dhcp'),
- config_dir = '/etc')
+ config_dir = join(config_path, 'dhcp'))
proxy = ProxyHandler(
pickle_dir = join(pickle_path, 'proxy'),
- config_dir = '/etc/squid')
+ config_dir = join(config_path, 'proxy'))
vrrp = VrrpHandler(
pickle_dir = join(pickle_path, 'vrrp'),
config_dir = join(config_path, 'vrrp'),
- pid_dir = '/var/run')
+ pid_dir = join(config_path, 'vrrp', 'run'))
+
+ vpn = VpnHandler(
+ pickle_dir = join(pickle_path, 'vpn'),
+ config_dir = join(config_path, 'vpn'))
+
+ #qos = QoSHandler(
+ # pickle_dir = join(pickle_path, 'qos'),
+ # config_dir = join(config_path, 'qos'))
bind_addr = \
(