ติดตั้ง FOG Project บน Ubuntu 18.04 Server

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 24-09-2562
ดูแลโดย WIBOON

ติดตั้ง FOG Project บน Ubuntu 18.04 Server
by วิบูลย์ วราสิทธิชัย • September 18, 2019
https://sysadmin.psu.ac.th/2019/09/18/ติดตั้ง-fog-project-บน-ubuntu-18-04-server/

ติดตั้ง FOG Project แบบมี DHCP Server ด้วย
by วิบูลย์ วราสิทธิชัย • September 18, 2019
https://sysadmin.psu.ac.th/2019/09/18/ติดตั้ง-fog-project-แบบมี-dhcp-server-ด้วย/

ติดตั้ง FOG Project แบบใช้ Proxy DHCP
by วิบูลย์ วราสิทธิชัย • September 18, 2019
https://sysadmin.psu.ac.th/2019/09/18/ติดตั้ง-fogproject-แบบใช้-proxy-dhcp/

หมายเหตุ
ถ้านำวิธีการนี้ไปติดตั้งกับ Ubuntu 16.04 Server จะทำงานไม่สำเร็จ เพราะ dnsmasq ใน Ubuntu 16.04 จะเป็นเวอร์ชั่น 2.75 ส่วนใน Ubuntu 18.04 จะเป็นเวอร์ชั่น 2.79 ดังนั้นให้ทำแก้ไข binary ของ dnsmasq โดยการ compile ตามเอกสารนี้
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq#Compiling_dnsmasq_2.76_if_you_need_uefi_support

อย่างคร่าว ๆ

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install -y wget libdbus-1-dev libnetfilter-conntrack-dev idn libidn11-dev nettle-dev libval-dev dnssec-tools 
wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.79.tar.gz
tar -zxf dnsmasq-2.79.tar.gz
cd dnsmasq-2.79
sudo vi src/config.h
Find this section
/* #define HAVE_LUASCRIPT */
/* #define HAVE_DBUS */
/* #define HAVE_IDN */
/* #define HAVE_CONNTRACK */
/* #define HAVE_DNSSEC */ 
LINE NO 180
Paste in these settings just below the above text
#define HAVE_DBUS
#define HAVE_IDN
#define HAVE_IDN_STATIC
#define HAVE_CONNTRACK
#define HAVE_DNSSEC

SAVE and EXIT

which dnsmasq

/usr/sbin/dnsmasq

sudo vi Makefile
Search for this line and change
PREFIX        = /usr/local
# To this
PREFIX        = /usr


sudo cp -p /usr/sbin/dnsmasq /usr/sbin/dnsmasq.old
sudo make install


dnsmasq -v
Dnsmasq version 2.79  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify


sudo service dnsmasq restart

ก็เป็นอันใช้งานได้