一臺dns服務器,不能知足大量用戶同時解析的需求,因此提出dns集羣概念php
至關於多臺服務器,同時分擔訪問量,高效快速。html
服務器(master)172.25.254.11mysql
vim /etc/named.rfc1912.zone.interlinux
allow-transfer {172.25.254.10};sql
vim /etc/resolv.conf數據庫
nameserver 172.25.254.11vim
從屬服務器(slave) 172.24.25.10瀏覽器
vim /etc/named.rfc1912.zone緩存
type slave;安全
masters {172.25.254.11};
file "slaves/westos.com.zone"
vim /etc/resolv.conf
nameserver 172.25.254.10
在slave主機的/var/named/slaves
出現westos.com.zone,這是由於在從屬服務器的/etc/named.rfc1912.zone中file "slaves/westos.com.zone",書寫所致。
在從屬服務器dig www.westos.com響應的主機爲從屬服務器,數據是從 從屬服務器的slaves/westos.com.zone文件讀取~
那麼,問題來了~~~
若是dns主服務器,更改了某個域名的A記錄,那麼從屬服務器能不能實時得知呢?
vim /etc/named.rfc1912.zone
allow-transfer {172.25.254.10};
also-notify {172.25.254.10};
vim /var/named/westos.com.inter
2016112601 serial(slave會檢測這個值,是否一致來判斷是否須要同步)
www A newip
注意:serial的值此時不能爲零,通常爲10位(yyyymmddcc),
由於從屬服務器,會根據serial是否爲0來判斷,是否要更新A記錄文件。
打來的電話會被防火牆和selinux攔截。
systemctl stop firewalld
setenforce 0
同步A記錄文件以前:
沒關selinux以前不更新!!!!!!
關閉selinux後,A記錄被更新。
vim /etc/nmaed.rfc1912.zone.inter
allow-update{172.25.254.11};
>/var/log/messages
cat /var/log/messages
遠程端
nsupdate
server 172.25.254.130
update delete www.westos.com
send
update add www.westos.com 86400 A 172.25.254.111
send
86400爲最大緩存時間,一天的全部秒數86400=24*3600
出現以下報錯:nameserver指定DNS錯誤
出現以下報錯:chmod 770 /var/named/讓遠程端有寫入的權限
別忘記設置setenforce 0
出現以下圖所示,即爲發送成功~~
[root@dns-slave mnt]# nsupdate -kKwestos.+157+51429.private
> server 172.25.254.100
> update delete www.westos.com
> send
> quit
遠程端,要關selinux
主dns,chmod 770 /var/named/,讓遠程端有寫入的權限。
注意:
在遠程端輸入同步命令之後,
主dns服務器會生成一個/var/named/westos.com.inter.jnl
此時dig www.westos.com 的ip已經被修改。
也就是說系統優先讀取westos.com.inter.jnl,此時westos.com.inter尚未被修改。
在重啓服務之後,westos.com.inter.jnl會同步westos.com.inter,產生新的A記錄文件
因此,此前要作好原A記錄文件的備份
查看新的A記錄文件,www的信息已經被刪除,A記錄文件在重啓後被同步~~
cp -p /var/named/westos.com.inter /mnt
[root@dns-slave mnt]# nsupdate -kKwestos.+157+51429.private
> server 172.25.254.100
> update delete www.westos.com
> send
> quit
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
MD5 對稱加密
/etc/rndc.key 是dns的默認加密模板
cp -p /etc/rndc.key /etc/westos.key
cat Kwestos.xxxxx.key
vim /etc/westos.key
key "westos"!!!
secret "xxxxxx";
vim /etc/named.conf
43 include "/etc/westos.key";
vim /etc/named.rfc1912.zone.inter
allow-update {key westos;};
把密碼和鑰匙發送給遠程端。
scp Kwestos.xxxxx.key Kwestos.xxxxx.privateroot@172.25.254.230:/mnt
遠程客戶端
nsupdate -k Kwestos.xxxxx.private
server 172.25.254.130
update delete www.westos.com
send
dns服務器
dig www.westos.com
/////
每次從電信獲取ip,都是dhcp,相應的dns服務器也會同步更新主機的ip,這樣即便你變了ip,別人仍是能夠訪問到你
怎麼作呢?
man 5 dhcp.conf
關閉selinux!!!!
vim /etc/dhcpd/dhcp.conf
7 name "westos.com"
8 name-servers 172.25.254.130
14 ddns-update-style interim;
subnet 172.25.254.0 netmask 255.255.255.0{
range172.25.254.231 172.25.254.244;
optionrouters 172.25.254.130;
}
key westos{
algorithmhmac-md5;
secert XXXXX;
};
zone westos.com. { 通知DNS要更新dhcp變的ip
primary127.0.0.1; DHCP所在的服務器,使用迴環更快。
key westos;
}
網卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.25.254.130
BOOTPROTP=dhcp
vim /etc/resolv.conf
nameserver 172.25.254.130
服務器
systemctl restart dhcpd
systemctl restart named
客戶端
systemctl restart network
ifconfig
dig client.westos.com
client爲主機名
最後服務器能獲取到/var/named/westos.com.inter.jnl,文件
以後systemctl restart named
cat var/named/westos.com.inter,發現client主機的信息已經被添加。
大功告成~~~~
yum install mariadb-server.x86_64 -y
systemctl start mariadb
默認開啓外網mysqpl端口
netstat –antlpe
vim /etc/my.cnf
skip-networking=1
systemctl restart mariadb
netstat –antlpe
mysql_secure_installation 安裝安全機制
一路回車,輸密碼~:
在安裝安全機制以前,如何進入數據庫:
1)mysql -h loalhost -h, --host=name
2)mysql
SHOW DATABASES; 顯示數據庫
USE MYSQL; 進入數據庫
SHOW TABLES; 顯示數據庫中的表
FLUSHprivileges; 刷新數據庫信息
SELECT Host,user,passwd FROM user; 查詢表user中的Host,user,passwd
實例:
SHOW DATABASES;
USE MYSQL;
SHOW TABLES;
SELECT * FROM user;
SELECT Host,user,passwd FROM user;
DESC UTAB; 查看UTAB表的數據結構 description
CREATE DATABASE lalala; 建立lalala數據庫
USE lalala;
CREATE TABLE UTAB( 建立表,username,password字段
username varchar(10) not null,
password varchar(50) not null,
age varchar(4)
);
DESC user; 查看user表的數據結構 description
INSERT INTO UTAB VALUES ('lixiaojie','123',2); 插入字段
INSERT INTO UTAB VALUES ('damowang','123',100);
INSERT INTO UTAB VALUES ('zoe','123','');
ALTER TABLE UTAB ADD class varchar(8) AFTER password;
添加class字段到UTAB中,在password字段後。
ALTER TABLE linux DROP class; 刪除class字段
UPDATE UTAB SET class=’1’; 設置新添加的class字段的值。(不加where所有添加)
UPDATE UTAB SET class=’1’where username=zoe;
DROP table UTAB; 表
DROP DATABASES; 數據庫
絕對訪問:
select * FROM mysql.user; 查詢mysql庫下的user表中的索引
相對訪問:
SHOW DATABASES;
USE mysql;
SHOW TABLES;
SELECT * FROM user;
CREATE USER miao@localhost identified by 'westos'; 建立本地用戶
CREATE USER miaomiao@'%' identified by 'westos'; 建立遠程用戶
查看遠程用戶的受權
建立本地用戶
新用戶剛開始沒有權限,只能登錄,什麼都幹不了
GRANT INSERT,UPDATE,DELETE,SELECT, on *.* tolalala@localhost;
*.*:全部數據庫的全部表
GRANT INSERT on mysql.* lalala@'%' 遠程
重載受權表
FLUSHPRIVILEGES;
查看授用戶受權
SHOW GRANTS FOR lalala@localhost;
miao用戶能夠建立新的數據庫啦~~
撤銷用戶權限
REVOKE INSERT,UPDATE,DELETE,SELECT, on *.* tolalala@localhost;
刪除用戶
DROP USER lalala@localhost;
1)知道密碼,直接修改
mysqladmin -uroot -pwestos password redhat
2)忘記root用戶密碼
systemctl stop mariadb
mysqld_safe --skip-grant-tables & 繞過安全驗證機制
mysql -uroot
SELECT * FROM mysql.user
查看用戶名,密碼字段書寫方式。
UPDATE mysql.user set Password=password('lalala') WHERE User='root';
加密密碼,不然密碼爲明文
密碼爲明文
UPDATE mysql.user set Password=password('lalala') WHERE User='root';
密碼被加密!!!!!!!!
fg
killall -9 mysqld_safe
ps aux | grep mysql
kill -9 PID結束殘留mysql進程
mysqldump –uroot –plalala xixixi 備份xixixi數據庫
mysql -uroot -plalala -e "DROP DATABASE xixixi"
mysqldump -uroot -plalala xixixi>/mnt/xixixi.sql 所有備份
mysqldump -uroot -plalala xixixi --no-data>/mnt/xixixi.sql 只備份表頭,沒有數據
mysql -uroot -plalala -e "SHOW DATABASElalala"
mysql -uroot -plalala -e "CREATE DATABASE xixixi"
mysql -uroot -plalala xixixi</mnt/xixixi.sql 恢復
1)備份並刪除數據庫
2)所有恢復
3)只恢復表頭
yum install httpd php-mysql php -y
download phpadmin_.tar.brz
tar jxf phpmyadmin-*.tar.bz2 -C /var/www/html -C 指定解壓目錄
mv phpmyadmin phpadmin
1)check 壓縮文件的README
2)check Documentation.txt
/Quick install
cp -p config.sample.inc.php config.inc.php
vim config.inc.php
cookie 不能爲空,隨便填一個
systemctl stop firewalld
systemctl start httpd
在瀏覽器中插入一個字段~~~
在本地數據庫能夠查看其添加~~
dns服務器:將域名解析爲ip
dns服務器(maillalala.lalala.com) 172.25.254.11
vim /etc/resolv.conf
nameserver 172.25.254.11
新建兩個MX域:
lalala.com.zone 172.25.254.11
zoe.com.zone 172.25.254.10
dig -t MX westos.com
dig -t MX linux.com
vim /etc/postfix/main.cf
75 myhostname = maillinux.linux.com
99 myorigin = $mydomain
113 inet_interfaces = all
116 #inet_interfaces = localhost
164 mydestination = $myhostname, $mydomain, localhost
另外一個郵件服務器 mailwestos.com 172.25.254.130
vim /etc/resolv.conf
nameserver 172.25.254.11
vim /etc/postfix/main.cf
75 myhostname =mailwestos.westos.com
99 myorigin = $mydomain
113 inet_interfaces = all 打開外網和內網的25端口
116 #inet_interfaces = localhost
164 mydestination = $myhostname, $mydomain, localhost
個人主機名 個人域名 本地郵件
113)
打開端口前,默認只打開了本地的25端口
寫了113: inet_interfaces = all 打開外網和內網的端口。
mailq 查看郵件隊列
postqueue -f 重發郵件隊列中的郵件
postspuser -d xxxx 刪除郵件隊列中只滯留的郵件 -d queue_id (delete)
mail -u root 查看root收到的郵件
postspuser -d xxxx
雙方方能夠互發郵件啦~~~
注意:接受方須要關閉防火牆,要否則收不到。
zoe主機給lalala主機發送!
mailq爲滯留的郵件,能夠用postqueue–f 從新發送
lalala主機成功接受!
lalala主機給zoe主機發送!
zoe主機成功接受!
postconf -n 查看當前設置 -n (non-defaults)
postconf -e "inet_interfaces=localhost" 設置 -e(edit)
postconf -d | grep innet 查看默認設置 -d(defaults)
DNS服務器
vim /etc/aliases
admin: root
more: :include:/etc/moreusers羣發郵件
vim /etc/moreusers
student
root
postalias /etc/aliases 讓別名生效
systemctl restart postfix.service
另外一個郵件服務器
mail admin@linux.com 即爲給root發
mail more@linux.com 即爲羣發
羣發郵件
vim /etc/aliases
vim /etc/moreusers
postalias /etc/aliases 讓別名生效
DNS服務器
vim /etc/postfix/generic
root@lalala.com 2222222@qq.com
真域名 假域名
postmap generic給generic加密,生成generic.db
postconf -d|grep generic 查看加密使用的參數
postconf -e "smtp_generic_maps=hash:/etc/postfix/generic"
把加密的文件寫入/etc/postfix/main.cf 主配置文件
收件人,受到的郵件的發送方爲假域名
發件人爲lalala.com
收件人看到的發件人爲22222222@qq.com,假裝成功~~~
telnet 172.25.254.10 25
ehlo hello
mail from:root@zoe.com
rcpt to:root@lalala.com
data
dsf
wqd
fdsdsf
22222222222
.
quit
用真機遠程登陸,zoe主機,給lalala主機發郵件
lalala主機收到了zoe主機發的郵件~