ma5626如何进入web配置_如何给Dnsmasq提供一个Web配置界面?
痛點
平時工作中,經常有同事讓我修改Dnsmasq的配置文件(都怪我服務器權限太大),每次有這樣的需求,都要放下手中的工作,登錄服務器、修改配置文件、重啟服務,有時一天有四五次,讓我不勝其煩。
解決方法
起初計劃在DNS服務器上部署Web服務器,在根目錄下放置一個“Dnsmasq”配置文件副本,同事可以編輯這個配置文件,編輯完成后,依靠“rsync+inotify”來同步新修改的文件到“Dnsmasq”配置目錄。但這樣操作有不少問題,實現起來比較復雜且不穩定,如果同時有兩個同事編輯文件,會沖突。
最近,在github上發現一款好用的程序--“webproc”,它可以解決這個問題。
“webproc”可以給任何服務進程提供基于web的用戶界面。你需要做的僅是提供一個二進制可執行程序和它的配置文件。
注意:程序不要以守護進程的方式運行,要運行在“foreground”
Dnsmasq
“DNSmasq”是一個小巧且方便地用于配置DNS和DHCP的工具,適用于小型網絡,它提供了DNS功能和可選擇的DHCP功能。
- 安裝“Dnsmasq”(操作系統是Debian)
- 在“webproc”中運行“Dnsmasq”--命令行方式
執行上面命令后,瀏覽器訪問“http://服務器IP:8080”就可以配置“dnsmasq”(如下圖),配置完成后,點擊保存,“dnsmasq”會自動重啟
webproc
如果缺少“--no-daemon”選項,退出“webproc”后,“dnsmasq”仍然在后臺執行,這不是我們想要的。
- 在“webproc”中運行“Dnsmasq”--配置文件方式
在命令行中運行“webproc”,主要在測試環境下,在正式環境中,使用配置文件運行“webproc”,如下,
sudo ./webproc program.toml“program.toml”配置文件,
ProgramArgs = ["/usr/sbin/dnsmasq", "-d"] #運行dnsmasq在foreground,唯一的一個必需配置項Host = "0.0.0.0" #監聽的主機IPPort = 8080 #監聽的主機接口User = "webproc" #basic auth的用戶名Pass = "password" #basic auth的密碼AllowedIPs = ["10.1.48.0/24"] #允許訪問webproc的IP地址段Log = "both"OnExit = "ignore"OnSave = "restart" #保存后重啟服務ConfigurationFiles = ["/etc/dnsmasq.conf"]總結
“webproc”可以嵌套很多程序,服務運行后,可以通過web界面方式修改被嵌套程序的配置文件,省掉了登錄服務器,修改配置文件,重啟服務的麻煩,特別對不了解Linux系統的同事會方便很多。
希望這篇文章能幫到正在努力的你,歡迎關注評論!
總結
以上是生活随笔為你收集整理的ma5626如何进入web配置_如何给Dnsmasq提供一个Web配置界面?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据库增删改查_python
- 下一篇: 小波滤波器与其他滤波器的区别_小波变换(