DHCP服務(wù) 毕箍、Ansible

(第十七周作業(yè))

1敞斋、搭建DHCP服務(wù),為局域網(wǎng)內(nèi)用戶提供10.1.1.0/24網(wǎng)段的IP,且租約期默認(rèn)為48小時
1)準(zhǔn)備兩臺服務(wù)器,都位于10.1.1.0/24網(wǎng)段內(nèi):
A機:DHCP服務(wù)端,
B機:客戶端亏吝,從服務(wù)器獲得IP地址。
2)A機服務(wù)端執(zhí)行以下操作:
臨時關(guān)閉防火墻
# service iptables stop?
臨時關(guān)閉 selinux
# setenforce 0?
停止網(wǎng)絡(luò)管理服務(wù)的開機自啟動設(shè)置
# chkconfig --level 2345 NetworkManager off? ?
關(guān)閉網(wǎng)絡(luò)管理服務(wù)
# service NetworkManager stop
編輯網(wǎng)卡設(shè)置
# vi? /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
#表示該接口將通過該配置文件進行設(shè)置盏混,而不是通過網(wǎng)絡(luò)管理器進行管理
NM_CONTROLLED=no
#服務(wù)器自身使用靜態(tài)IP地址
BOOTPROTO=static?
#配置地址為
IPADDR=10.1.1.88
#網(wǎng)關(guān)配置
GATEWAY=10.1.1.2?

安裝DHCP服務(wù)
# yum install dhcp*? ?-y
配置DHCP服務(wù)
#vi /etc/dhcp/dhcpd.conf?

allow bootp;
#默認(rèn)租約時間(單位為秒蔚鸥,48小時為48*3600秒,即172800秒)
default-lease-time 172800;
#最大租約時間
max-lease-time 172800;
#syslog設(shè)置许赃,可以到/var/log/syslog文件查看DHCP分配的日志
log-facility local7;
#子網(wǎng)和子網(wǎng)掩碼
subnet 10.1.1.0 netmask 255.255.255.0 {
#客戶端的默認(rèn)網(wǎng)關(guān)
option routers 10.1.1.2;?
#客戶端的子網(wǎng)掩碼
option subnet-mask 255.255.255.0;?
#客戶端的搜索域
option domain-name "magedu.com";
#客戶端的域名服務(wù)器
option domain-name-servers 10.1.1.2;?
#可供分配的IP范圍
range dynamic-bootp 10.1.1.50 10.1.1.250;?
}

重啟 dhcp 服務(wù)
# service dhcpd restart?
3)B機客戶端執(zhí)行以下操作進行測試
編輯網(wǎng)卡配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
#不通過網(wǎng)絡(luò)管理器進行管理
NM_CONTROLLED=no
#通過dhcp服務(wù)來獲得IP
BOOTPROTO=dhcp?

重啟網(wǎng)卡
# service network restart?
查看B機的IP
# ifconfig?
如果IP在10.1.1.50?和10.1.1.250之間止喷,則測試成功。

2混聊、在上述實驗基礎(chǔ)上弹谁,實現(xiàn)DHCP中繼
DHCP中繼:當(dāng)DHCP客戶機和DHCP服務(wù)器不在同一個網(wǎng)段時,由DHCP中繼傳遞DHCP報文
在第1題實驗的基礎(chǔ)上句喜,
準(zhǔn)備一臺DHCP中繼器预愤,這里稱為C機,有兩張網(wǎng)卡咳胃,一張與10.1.1.0/24網(wǎng)段連接植康,另一線與10.1.2.0/24網(wǎng)段連接,
還需要一臺D機作為10.1.2.0/24網(wǎng)段的客戶端服務(wù)器展懈,用于驗證DHCP中繼服務(wù)销睁。
1)在A機,修改DHCP服務(wù)配置文件存崖,增加一下子網(wǎng)設(shè)置:

subnet 10.1.2.0 netmask 255.255.255.0 {
#客戶端的默認(rèn)網(wǎng)關(guān)
option routers 10.1.2.2;?
option subnet-mask 255.255.255.0;?
#客戶端的搜索域
option domain-name "magedu.com";
#客戶端的域名服務(wù)器
option domain-name-servers 10.1.1.2;?
#可供分配的IP范圍
range dynamic-bootp 10.1.2.50 10.1.2.250;?
}

重啟DHCP服務(wù)
#service dhcpd restart?
2)在C機(DHCP中繼服務(wù)器)執(zhí)行的操作
安裝DHCP服務(wù)
# yum install dhcp*? ?-y
安裝dhcp軟件包榄攀,安裝完之后,就已經(jīng)包含了dhcp中繼相關(guān)的程序和腳本等文件金句。配置dhcp中繼服務(wù)器時,只需修改配置文件/etc/sysconfig/dhcrelay服務(wù)即可吕嘀,作為路由器使用時违寞,還需要開啟服務(wù)器的路由轉(zhuǎn)發(fā)功能贞瞒。
#vi??/etc/sysconfig/dhcrelay

#指定要監(jiān)聽網(wǎng)卡,不定義就是監(jiān)聽所有
INTERFACES="eth0 eth1"
#指定DHCP服務(wù)器的地址
DHCPSERVERS="10.1.1.88"

配置網(wǎng)卡配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.1.2
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
#不通過網(wǎng)絡(luò)管理器進行管理
NM_CONTROLLED=no

#?vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.2.1
NETMASK=255.255.255.0
GATEWAY=10.1.2.1
#不通過網(wǎng)絡(luò)管理器進行管理
NM_CONTROLLED=no

開啟服務(wù)器的路由轉(zhuǎn)發(fā)功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
重啟網(wǎng)卡
#service network restart
重啟DHCP中繼服務(wù)
#service? dhcrelay restart???
3)D機客戶端執(zhí)行以下操作進行測試
(D機執(zhí)行與B機一樣的操作,以驗證IP是否能夠獲取到)

3趁曼、借助Ansible?Playbook自動化搭建LNMP環(huán)境(可借助yum)
需要兩臺虛擬機
A機:Ansible服務(wù)器(192.168.56.70)
B機:安裝LNMP環(huán)境(192.168.56.71)
1)A機安裝Ansible服務(wù)
#yum install epel-release? -y
#yum install ansible -y?
2)A機執(zhí)行以下操作:
創(chuàng)建資產(chǎn)文件
# vi? /etc/ansible/hosts

[LNMPserver]
192.168.56.71?

創(chuàng)建playbook文件
# vi? ?/root/main.yml

---
- hosts: LNMPserver
#遠(yuǎn)程主機的用戶
? remote_user: root
? tasks:
#安裝Nginx(首先要下載 nginx-1.14.2.tar.gz?放到/root目錄下)
? - name:? copy Nginx tar to remote hosts
? ? copy: src=/root/nginx-1.14.2.tar.gz ? dest=/tmp/nginx-1.14.2.tar.gz ?
? - name:? tar x Nginx tar?
? ?? shell: cd /tmp;tar -xf? nginx-1.14.2.tar.gz
????????##安裝依賴包
?? - name: install dependcy pakger ?
? ? yum: name={{ item }} state=latest? ? ?
? ? with_items: ? ?
? ? ? - openssl-devel
? ? ? - pcre-devel
? ? ? - gcc
? ? ? ? ##創(chuàng)建nginx用戶的腳本后面給出
? - name:copy useradd nginx shell
? ? copy:? src=/root/create_users.sh? dest=/tmp/create_users.sh
? -name:? create user nginx
? ?? shell: /bin/bash /tmp/create_users.sh
? ? ? ? ##編譯安裝nginx
? - name: install Nginx
? ? shell: cd /tmp/nginx-1.14.2;./configure--user=nginx --group=nginx --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-pcre;make&& make install
? - name: startnginx service? ?? ? ?
? ? shell: /usr/loal/nginx/sbin/nginx?
#安裝mysql
??- name: Install MariaDB?
? ? yum:?name={{ item }} state=present
? ??with_items:
? ? ? -?mariadb-server
? ? ? -?mariadb
? - name:?Start MariaDB Service
? ??service: name=mariadb state=started enabled=yes
#安裝php-nginx
? - name: install php-nginx
? ?? yum: name={{ item }} state=present
? ? ? -? php
? ? ? -??php-gd
? ? ? -??php-mysql
? ? ? -? gd
? ? ? -??php-fpm
?? - name: start php-fpm service
? ?? service: name=php-fpm state=started enabled=yes

編寫創(chuàng)建nginx用戶的腳本
# vi? /root/create_users.sh

#!/bin/bash
id nginx? >/dev/null? 2>&1
if [ $? -ne 0 ];then
? ?useradd nginx?
fi

使用ansible-playbook進行檢測:
#cd? /root
# ansible-playbook?main.yml? --syntax-check??
檢測無誤后執(zhí)行
# ansible-playbook?main.yml
4军浆、采用Ansible?Role方式自動化搭建LNMP
在第3題的基礎(chǔ)上
在A機執(zhí)行以下操作
# mkdir? /root/LNMP
定義主文件
# vi? /root/LNMP/lnmp.yaml

---
- name: "Install Nginx, Mysql and php-fpm"
? hosts: lnmpServer
? remote_user: root
? roles:
? ? - nginx
? ? - mysql
? ? - php-fpm

設(shè)置資產(chǎn)文件
# vi /root/LNMP/hosts

[lnmpServer]
192.168.56.32

創(chuàng)建roles目錄及各應(yīng)用子目錄
# mkdir? -p? /root/LNMP/roles/{nginx,mysql,php-fpm}
(1)關(guān)于nginx子目錄下創(chuàng)建相關(guān)的子目錄
#mkdir? -p?/root/LNMP/roles/nginx/{handlers,tasks,templates,files}
#vi??/root/LNMP/roles/nginx/handlers/main.yml

---
- name: restart nginx
? shell: /usr/loal/nginx/sbin/nginx? -s reload

# vi???/root/LNMP/roles/nginx/tasks/main.yml

---
- name:? copy Nginx tar to remote hosts
? ? copy: src=nginx-1.14.2.tar.gz?? dest=/tmp/nginx-1.14.2.tar.gz??
? - name:? tar x Nginx tar?
? ? ?shell: cd /tmp;tar -xf?nginx-1.14.2.tar.gz?
##安裝依賴包?
? ?- name: install dependcy pakger?
? ? yum: name={{ item }} state=latest?
? ? with_items:?
? ? ? - openssl-devel
? ? ? - pcre-devel
? ? ? - gcc?
? ? ? ? ##拷貝創(chuàng)建nginx用戶的腳本
? ? - name:copy useradd nginx shell
? ? ? copy:??src=create_users.sh? dest=/tmp/create_users.sh?
? ? - name:??create user nginx?
? ? ?shell: /bin/bash /tmp/create_users.sh?
? ? ? ? ##編譯安裝nginx
? - name: install Nginx
? ? shell: cd /tmp/nginx-1.14.2;./configure--user=nginx --group=nginx --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-pcre;make&& make install?
? - name: startnginx service?
? ? shell: /usr/loal/nginx/sbin/nginx?

把nginx-1.14.2.tar.gz放入/root/LNMP/roles/nginx/files中
# cp? /root/nginx-1.14.2.tar.gz??/root/LNMP/roles/nginx/files
把create_users.sh放入/root/LNMP/roles/nginx/templates中
# cp? /root/create_users.sh??/root/LNMP/roles/nginx/templates
(2)關(guān)于mysql子目錄下創(chuàng)建相關(guān)的子目錄
#mkdir? -p?/root/LNMP/roles/mysql/{handlers,tasks,templates}
#vi??/root/LNMP/roles/mysql/handlers/main.yml

---
- name: restart mariadb service
? service: name=mariadb state=restarted

# vi???/root/LNMP/roles/mysql/tasks/main.yml

---
? - name: Install MariaDB?
? ? yum:?name={{ item }} state=present
? ? with_items:
? ? ? -?mariadb-server
? ? ? -?mariadb
? - name:?Start MariaDB Service
? ? service: name=mariadb state=started enabled=yes

(3)關(guān)于php-fpm子目錄下創(chuàng)建相關(guān)的子目錄
#mkdir? -p?/root/LNMP/roles/php-fpm/{handlers,tasks,templates}
#vi??/root/LNMP/roles/php-fpm/handlers/main.yml

---
- name: restart php-fpm service
? service: name=php-fpm state=restarted

# vi???/root/LNMP/roles/php-fpm/tasks/main.yml

---
- name: install php-nginx?
? ? ?yum: name={{ item }} state=present?
? ? ? -??php?
? ? ? -??php-gd
? ? ? -??php-mysql
? ? ? -? gd
? ? ? -??php-fpm
? ?- name: start php-fpm service?
? ? ?service: name=php-fpm state=started enabled=yes

(4)檢測并執(zhí)行部署
#cd? /root/LNMP
# ansible-playbook?lnmp.yaml --syntax-check??
檢測無誤后執(zhí)行
# ansible-playbook?lnmp.yaml?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挡闰,隨后出現(xiàn)的幾起案子乒融,更是在濱河造成了極大的恐慌,老刑警劉巖摄悯,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赞季,死亡現(xiàn)場離奇詭異,居然都是意外死亡奢驯,警方通過查閱死者的電腦和手機申钩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘪阁,“玉大人撒遣,你說我怎么就攤上這事」芏澹” “怎么了义黎?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長豁跑。 經(jīng)常有香客問我廉涕,道長,這世上最難降的妖魔是什么贩绕? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任火的,我火速辦了婚禮,結(jié)果婚禮上淑倾,老公的妹妹穿的比我還像新娘馏鹤。我一直安慰自己,他們只是感情好娇哆,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布湃累。 她就那樣靜靜地躺著,像睡著了一般碍讨。 火紅的嫁衣襯著肌膚如雪治力。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天勃黍,我揣著相機與錄音宵统,去河邊找鬼。 笑死覆获,一個胖子當(dāng)著我的面吹牛马澈,可吹牛的內(nèi)容都是我干的瓢省。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痊班,長吁一口氣:“原來是場噩夢啊……” “哼勤婚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涤伐,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤馒胆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凝果,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祝迂,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年豆村,在試婚紗的時候發(fā)現(xiàn)自己被綠了液兽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡掌动,死狀恐怖四啰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粗恢,我是刑警寧澤柑晒,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站眷射,受9級特大地震影響匙赞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妖碉,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一涌庭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欧宜,春花似錦坐榆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夏漱,卻和暖如春豪诲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挂绰。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工屎篱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓芳室,卻偏偏與公主長得像专肪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子堪侯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容