예제 #1
0
def main():
    s = Server()
    s.server_name = 'example server'
    s.on_packet = print_packet
    s.on_request = request
    s.start(sys.argv[1])
    s.serve()
예제 #2
0
def setup_dhcp_server():
    global dhcp_server

    def dhcp_request(mac, hostname):
        info('DHCP request from {0} ({1})'.format(hostname, mac))
        lease = Lease()
        lease.client_mac = mac
        lease.client_ip = ipaddress.ip_address(e('${FREENAS_IP}'))
        lease.client_mask = ipaddress.ip_address(e('${NETMASK}'))
        ready.set()
        return lease

    dhcp_server = Server()
    dhcp_server.server_name = 'FreeNAS_test_env'
    dhcp_server.on_request = dhcp_request
    dhcp_server.start(tapdev, ipaddress.ip_address(e('${HOST_IP}')))
    threading.Thread(target=dhcp_server.serve, daemon=True).start()
    info('Started DHCP server on {0}', tapdev)