⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.sysconf

📁 this is sample about DHCP-agent
💻 SYSCONF
字号:
; $Header: /cvsroot/dhcp-agent/dhcp-agent/conf/dhcp-client/default.sysconf,v 1.2 2003/07/10 23:18:22 actmodern Exp $;; dhcp sysconf recipe file.;; XXX IMPORTANT: ; You should not need to edit the interface setup; below.  Without this the client may not function properly at; all since it relies on it to configure the interface.;(define configure-interface #f); XXX -- no need for unconfigure interface, client will handle that internally.(let ((configured-ip-address #f))  (set! configure-interface        (lambda ()          (if (defined? 'dhcp-requested-ip-address)              (let                                        ; if the mtu wasn't passed by the server, get the user configured one                  ((mtu                     (if (defined? 'dhcp-interface-mtu)                         dhcp-interface-mtu                        (client-get-default-mtu client-control)))                                        ; if the subnet mask wasn't specified, get the user configured one                   (subnet-mask                    (if (defined? 'dhcp-subnet-mask)                        dhcp-subnet-mask                        (client-get-default-subnet-mask client-control))))                                        ; that's it we're ready to bring up the interface                (client-info-message "bringing up interface...")                (if (not (client-interface-up client-control dhcp-requested-ip-address subnet-mask mtu))                    (client-fatal-message "could not bring up interface... exiting.")                    (set! configured-ip-address dhcp-requested-ip-address))))))); XXX; Add option handling here. ; All configure-* functions are placed inside of closures. This; allows seemless persistantance of old values and thus; unconfigure-* can be written easily.;; Domain and domain-name servers(define configure-dns #f)(define unconfigure-dns #f)(let ((configured-domain-name #f)       (configured-domain-name-servers #f)      ; check to see if we really need to configure       (do-configure         (lambda()          (and (client-configure? client-control 'dhcp-domain-name-servers)                (client-configure? client-control 'dhcp-domain-name)               (defined? 'dhcp-domain-name-servers)               (defined? 'dhcp-domain-name)))))      ; define this here since we'll be calling it from reconfigure as well.  ; configure dns options  (set! configure-dns        (lambda ()          (if (do-configure)              (let ((resolv-conf-file-port (open "/etc/resolv.conf" (logior O_WRONLY O_TRUNC) 0644)))                (client-info-message "configuring resolver")                (map-in-order                 (lambda (dns-server)                   (simple-format resolv-conf-file-port "nameserver ~A\n" dns-server))  dhcp-domain-name-servers)                (simple-format resolv-conf-file-port "search ~A\n" dhcp-domain-name)                (close-port resolv-conf-file-port)                                        ; now setup the options so we can use them again in unconfigure.                (set! configured-domain-name dhcp-domain-name)                (set! configured-domain-name-servers dhcp-domain-name-servers)))))                                        ; unconfigure dns options  (set! unconfigure-dns        (lambda()         ; We shouldn't really be doing anything. Any name server         ; is a good server :-)          #t))); Routers. We use client-set-default-route to add the route.(define configure-default-route #f)(define unconfigure-default-route #f)(let ((configured-default-route #f)      ; check to see if really need to configure      (do-configure       (lambda()         (and (client-configure? client-control 'dhcp-routers)               (defined? 'dhcp-routers)))))  (set! configure-default-route        (lambda()          (if (do-configure)              (let ((routers (if (client-do-discover-icmp-latency? client-control)                                 (sort (client-discover-icmp-latency client-control dhcp-routers)                                       (lambda (x y) (< (car x) (car y))))                                 (list (list 1 (car dhcp-routers))))))                (if (null? routers)                    (begin                      (client-error-message "default routes not responding. defaulting to first one in list")                      (client-set-default-route client-control (car dhcp-routers))                      (set! configured-default-route (car dhcp-routers)))                    (let ((default-route (car (cdr (car routers)))))                      (client-info-message (string-append "adding default route to: " default-route))                      (client-set-default-route client-control default-route)                      (set! configured-default-route default-route)))))))  (set! unconfigure-default-route        (lambda()          (if (do-configure)              (if configured-default-route                  (begin                    (client-info-message (string-append "removing default route to: " configured-default-route))                    (client-remove-default-route client-control configured-default-route))))))); After everything is defined set to hooks;; We have two hooks. dhcp-bind-hook, dhcp-release-hook, ; setup options on dhcp-bind(add-hook! dhcp-bind-hook configure-dns)(add-hook! dhcp-bind-hook configure-default-route)(add-hook! dhcp-bind-hook configure-interface); unconfigure options on dhcp-release-hook(add-hook! dhcp-release-hook unconfigure-dns)(add-hook! dhcp-release-hook unconfigure-default-route)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -