2018年2月27日 星期二
2018年2月24日 星期六
2018年2月23日 星期五
2018年2月21日 星期三
nat--selinux
https://www.server-world.info/en/note?os=CentOS_7&p=selinux
http://dic.vbird.tw/linux_server/unit02.php
https://www.google.com.tw/search?q=centos+7+iptables&oq=centos+7+iptables&aqs=chrome..69i57j69i65l2j0l3.17589j0j4&sourceid=chrome&ie=UTF-8
http://dic.vbird.tw/linux_server/unit04.php
http://dic.vbird.tw/linux_server/unit02.php
https://www.google.com.tw/search?q=centos+7+iptables&oq=centos+7+iptables&aqs=chrome..69i57j69i65l2j0l3.17589j0j4&sourceid=chrome&ie=UTF-8
http://dic.vbird.tw/linux_server/unit04.php
[CentOS] 在 CentOS 7 使用 firewalld 架設 NAT
架設 NAT 在之前大多使用 iptable 來實現,雖然在 CentOS 7 可以把 firewalld 關掉繼續使用 iptable,但是…我開始學 CentOS 的時候就已經是 7 了XD,我反而不會用 iptable Q_Q。
NAT 伺服器
架設 NAT 需要有兩個網路孔,一個負責 WAN,一個負責 LAN,先修改網卡的 zone 分別為 External (WAN) 跟 Internal (LAN),我的 ens33 負責 WAN,ens34 負責 LAN。
# nmcli c mod ens34 connection.zone internal
# nmcli c mod ens33 connection.zone external
然後確認一下有沒有成功
# firewall-cmd --get-active-zone
WAN 設定 IP masquerad,其實我不太懂這是什麼意思,似乎是 IP 偽裝。
# firewall-cmd --zone=external --add-masquerade --permanent
# firewall-cmd --zone=internal --add-masquerade --permanent
# firewall-cmd --reload
檢查一下 ip fordwarding 是否啟用,如果啟用的話結果為
1
# cat /proc/sys/net/ipv4/ip_forward
Port fordwarding
通過 WAN 的 port 22/tcp 轉發到 WAN 本身的 port 9487/tcp
# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=9487
# firewall-cmd --list-all --zone=external
通過 WAN 的 port 22/tcp 轉發到 192.168.0.31
# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=22:toaddr=192.168.0.31
# firewall-cmd --list-all --zone=external
允許封包轉送
# firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens33 -j MASQUERADE
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens34 -o ens33 -j ACCEPT
# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens34 -m state --state RELATED,ESTABLISHED -j ACCEPT
# firewall-cmd --reload
重新讀取防火牆設定後,NAT 就完成了,之後可以在上面安裝 dhcp,這樣就不用手動設定 IP 了。
關閉 centos7 防火牆 firewalld 改用傳統的 iptables
----
關閉 centos7 防火牆 firewalld 改用傳統的 iptables
----
ref: http://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/
# 關閉防火牆(Firewall on RHEL / CentOS / RedHat Linux 7)
# 預設開機不啟動
[root@hnamenode2 ~]# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
# 立即停止
[root@hnamenode2 ~]# systemctl stop firewalld
# 狀態檢查
[root@hnamenode2 ~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead)
9月 14 18:48:27 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 14 18:48:33 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
9月 26 21:00:53 hnamenode2 systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 26 21:00:54 hnamenode2 systemd[1]: Stopped firewalld - dynamic firewall daemon.
# iptables 檢查
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
----
# 改用傳統的 iptables-services , 安裝
----
[root@hnamenode2 ~]# yum install iptables-utils iptables-services
# 可以重新啟動 iptables
[root@hnamenode2 ~]# systemctl restart iptables.service
# 看看目前系統中的規則
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# 停止 iptables 服務帶出的規則
[root@hnamenode2 ~]# systemctl stop iptables.service
# 規則就會清空
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# 把清空的規則儲存 , 預設存在 /etc/sysconfig/iptables
[root@hnamenode2 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
# 可以檢查看看
[root@hnamenode2 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.21 on Sat Sep 26 21:05:46 2015
*filter
:INPUT ACCEPT [13:832]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9:1420]
COMMIT
# Completed on Sat Sep 26 21:05:46 2015
# 就算在重新啟動,規則也就清空了。
[root@hnamenode2 ~]# systemctl restart iptables.service
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
關閉 centos7 防火牆 firewalld 改用傳統的 iptables
----
ref: http://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/
# 關閉防火牆(Firewall on RHEL / CentOS / RedHat Linux 7)
# 預設開機不啟動
[root@hnamenode2 ~]# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
# 立即停止
[root@hnamenode2 ~]# systemctl stop firewalld
# 狀態檢查
[root@hnamenode2 ~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead)
9月 14 18:48:27 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 14 18:48:33 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
9月 26 21:00:53 hnamenode2 systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 26 21:00:54 hnamenode2 systemd[1]: Stopped firewalld - dynamic firewall daemon.
# iptables 檢查
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
----
# 改用傳統的 iptables-services , 安裝
----
[root@hnamenode2 ~]# yum install iptables-utils iptables-services
# 可以重新啟動 iptables
[root@hnamenode2 ~]# systemctl restart iptables.service
# 看看目前系統中的規則
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# 停止 iptables 服務帶出的規則
[root@hnamenode2 ~]# systemctl stop iptables.service
# 規則就會清空
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# 把清空的規則儲存 , 預設存在 /etc/sysconfig/iptables
[root@hnamenode2 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
# 可以檢查看看
[root@hnamenode2 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.21 on Sat Sep 26 21:05:46 2015
*filter
:INPUT ACCEPT [13:832]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9:1420]
COMMIT
# Completed on Sat Sep 26 21:05:46 2015
# 就算在重新啟動,規則也就清空了。
[root@hnamenode2 ~]# systemctl restart iptables.service
[root@hnamenode2 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
CentOS 7和CentOS 6一些系统命令区别
最近在使用CentOS 7,发现很多命令等和CentOS 6不一样,所以这里列出来方便参考。
一、网卡、配置静态IP
二、常用的systemctl命令
CentOS 7开始使用systemd来代替init 系统父进程,因此熟练systemctl很有必要。
CentOS 7 | CentOS 6 | 作用 |
systemctl start sshd.service | service sshd start | 启动ssh服务 |
systemctl stop sshd.service | service sshd stop | 停止ssh服务 |
systemctl restart sshd.service | service sshd restart | 重启ssh服务 |
systemctl status sshd.service | service sshd status | 查看ssh服务状态 |
systemctl reload sshd.service | service sshd reload | 重新加载ssh服务 |
systemctl enable sshd.service | chkconfig --level 3 sshd on | 开机自启动ssh服务 |
systemctl disable sshd.service | chkconfig --level 3 sshd off | 开机禁止启动ssh服务 |
systemctl list-unit-files --type=service | chkconfig --list | 列出所有的服务状态 |
systemctl list-units | chkconfig --list、ntsysv | 列出允许中的服务单元 |
systemctl is-active sshd.service | chkconfig --list sshd | 查看ssh服务是否运行 |
systemctl mask sshd.service | 屏蔽(不能启用)ssh服务 | |
systemctl unmask sshd.service | 解放屏蔽ssh服务 | |
systemctl show sshd.service | 显示SSH服务的配置信息 | |
systemctl get-default | 获取当前使用的运行等级 |
systemctl set-default runlevel3.target | vi /etc/inittab | 修改默认的运行等级 |
systemctl isolate runlevel3.target | init 3 | 启用运行等级3 |
三、配置文件
1、启动配置
centos6:修改/etc/inittab
centos7:systemctl set-default runlevel3.target
2、修改主机名
centos6:修改/etc/sysconfig/network
centos7:修改/etc/hostname
3、网卡信息
4、开启启动文件/etc/rc.d/rc.local
centos6:不需要任何修改
centos7:chmod +x /etc/rc.d/rc.local
5、默认防火墙
centos6:iptables
centos7:firewall
6、文件方式启动服务
centos6:/etc/rc.d/rc3.d/ 修改K开头的文件为S
centos7:/usr/lib/systemd/system/下的某服务做一条软连接到/etc/systemd/system目录下
7、路由转发
centos6:编辑/etc/sysctl.conf 添加 net.ipv4.ip_forward = 1或者echo “1” > /proc/sys/net/ipv4/ip_forward
centos7:编辑/etc/sysctl.conf 添加 net.ipv4.ip_forward = 1或者echo “1” > /proc/sys/net/ipv4/ip_forward
编辑/usr/lib/sysctl.d/50-default.conf 添加 net.ipv4.ip_forward = 1
8、语言设置
centos6:vim /etc/sysconfig/i18n 修改 LANG="zh_CN.UTF-8"
centos7:localectl set-locale LANG=zh_CN.UTF-8
2018年2月18日 星期日
安裝snmpd套件
1.安裝snmpd套件
systemctl restart httpd
yum install net-snmp*
2.修改snmpd組態檔 輸入 :set nu 來顯示行數
vim /etc/snmp/snmpd.conf
3.立即啟動snmpd、查看執行狀態、設為開機自動啟動之服務 本機防火牆允許snmp通過
- 大約在第 57 行加入以下一行,這表示將本機的所有資訊能夠以 SNMP 傳送出去。
view all included .1 80
- 更改大約在第 63 行,將 read 的 systemview 改為 all,意思是預設的 NotConfigGroup 群組能夠讀取上方 all 的所有資訊
###group context sec.model sec.level prefix read write notif
###access notConfigGroup “" any noauth exact systemview none none
access notConfigGroup “" any noauth exact all none none
4.立即啟動snmpd、查看執行狀態、設為開機自動啟動之服務 本機防火牆允許snmp通過
systemctl start snmpd
systemctl status snmpd
systemctl enable snmpd
firewall-cmd --permanent --zone public --add-service snmp
firewall-cmd --reload
2018年2月8日 星期四
drbl vm error
drbl vm error
w10
c:200g
d:全分割,未格式化
VM2大小>子機大小
error
第1電腦教室,A101-DISK大小>其他-DISK大小 restore error
SWITCH HUB 數度慢,螢幕150%不快。
Oracle virtual box:新增網卡-要關掉。
VM2大小>子機大小
error
w10
c:200g
d:全分割,未格式化
VM2大小>子機大小
error
第1電腦教室,A101-DISK大小>其他-DISK大小 restore error
SWITCH HUB 數度慢,螢幕150%不快。
Oracle virtual box:新增網卡-要關掉。
VM2大小>子機大小
error
2018年2月5日 星期一
yum remove php-common-5.4.16 -y
Transaction test succeeded
Running transaction
Erasing : php-5.4.16-43.el7_4.x86_64 1/8
Erasing : php-cli-5.4.16-43.el7_4.x86_64 2/8
Erasing : php-mysql-5.4.16-43.el7_4.x86_64 3/8
Erasing : php-pdo-5.4.16-43.el7_4.x86_64 4/8
Erasing : php-gd-5.4.16-43.el7_4.x86_64 5/8
Erasing : php-xml-5.4.16-43.el7_4.x86_64 6/8
Erasing : php-mbstring-5.4.16-43.el7_4.x86_64 7/8
Erasing : php-common-5.4.16-43.el7_4.x86_64 8/8
Verifying : php-cli-5.4.16-43.el7_4.x86_64 1/8
Verifying : php-5.4.16-43.el7_4.x86_64 2/8
Verifying : php-mbstring-5.4.16-43.el7_4.x86_64 3/8
Verifying : php-common-5.4.16-43.el7_4.x86_64 4/8
Verifying : php-xml-5.4.16-43.el7_4.x86_64 5/8
Verifying : php-pdo-5.4.16-43.el7_4.x86_64 6/8
Verifying : php-gd-5.4.16-43.el7_4.x86_64 7/8
Verifying : php-mysql-5.4.16-43.el7_4.x86_64 8/8
Removed:
php-common.x86_64 0:5.4.16-43.el7_4
Dependency Removed:
php.x86_64 0:5.4.16-43.el7_4 php-cli.x86_64 0:5.4.16-43.el7_4 php-gd.x86_64 0:5.4.16-43.el7_4
php-mbstring.x86_64 0:5.4.16-43.el7_4 php-mysql.x86_64 0:5.4.16-43.el7_4 php-pdo.x86_64 0:5.4.16-43.el7_4
php-xml.x86_64 0:5.4.16-43.el7_4
Running transaction
Erasing : php-5.4.16-43.el7_4.x86_64 1/8
Erasing : php-cli-5.4.16-43.el7_4.x86_64 2/8
Erasing : php-mysql-5.4.16-43.el7_4.x86_64 3/8
Erasing : php-pdo-5.4.16-43.el7_4.x86_64 4/8
Erasing : php-gd-5.4.16-43.el7_4.x86_64 5/8
Erasing : php-xml-5.4.16-43.el7_4.x86_64 6/8
Erasing : php-mbstring-5.4.16-43.el7_4.x86_64 7/8
Erasing : php-common-5.4.16-43.el7_4.x86_64 8/8
Verifying : php-cli-5.4.16-43.el7_4.x86_64 1/8
Verifying : php-5.4.16-43.el7_4.x86_64 2/8
Verifying : php-mbstring-5.4.16-43.el7_4.x86_64 3/8
Verifying : php-common-5.4.16-43.el7_4.x86_64 4/8
Verifying : php-xml-5.4.16-43.el7_4.x86_64 5/8
Verifying : php-pdo-5.4.16-43.el7_4.x86_64 6/8
Verifying : php-gd-5.4.16-43.el7_4.x86_64 7/8
Verifying : php-mysql-5.4.16-43.el7_4.x86_64 8/8
Removed:
php-common.x86_64 0:5.4.16-43.el7_4
Dependency Removed:
php.x86_64 0:5.4.16-43.el7_4 php-cli.x86_64 0:5.4.16-43.el7_4 php-gd.x86_64 0:5.4.16-43.el7_4
php-mbstring.x86_64 0:5.4.16-43.el7_4 php-mysql.x86_64 0:5.4.16-43.el7_4 php-pdo.x86_64 0:5.4.16-43.el7_4
php-xml.x86_64 0:5.4.16-43.el7_4
2018年2月1日 星期四
proxmox 5.1 4.4 >> proxmox 5.0
proxmox5.1
網卡全抓到
progress 97% (read 781147176960 bytes, duration 42110 sec)
progress 98% (read 789200240640 bytes, duration 42110 sec)
gzip: /mnt/nfs/var/nfsshare/vzdump-qemu-221-2018_04_13-06_09_27.vma.gz: invalid compressed data--crc error
progress 99% (read 797253304320 bytes, duration 42110 sec)
progress 100% (read 805306368000 bytes, duration 42110 sec)
total bytes read 805306368000, sparse bytes 301055287296 (37.4%)
space reduction due to 4K zero blocks 0.0443%
temporary volume 'local-zfs:vm-623-disk-1' sucessfuly removed
command 'zcat /mnt/nfs/var/nfsshare/vzdump-qemu-221-2018_04_13-06_09_27.vma.gz|vma extract -v -r /var/tmp/vzdumptmp28051.fifo - /var/tmp/vzdumptmp28051' failed: exit code 1
root@w31:/mnt/nfs/var/nfsshare#
proxmox4.4 >> proxmox 5.0
eth0:e1000virito
透過 apt 將 proxmox 4.4 升級到 5.0
1. 先將 4.4 更新
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
2. 更新 apt 來源, jessie 更換為 stretch
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/pve-enterprise.list
ps. 如果 pve-enterprise.list 中的項目本來就註解掉,則第二道指令不一定要做
3. apt update
ps. 如果遇到如下錯誤訊息,則執行步驟 4
W: There is no public key available for the following key IDs:
EF0F382A1A7B6500
4. (選擇性) apt install debian-keyring debian-archive-keyring
5. apt dist-upgrade
ps. 這一個步驟最好在本機執行,不要 ssh 遠端做,以免時間過長 ssh timeout ,如果一定要 ssh 遠端執行而且 timeout 了,重新 ssh 進入後找出 apt dist-upgrade process id,kill 掉(不確定是否一定要?),執行 dpkg --configure -a 之後應該就可以了
6. reboot
參考資料:
Upgrade from 4.x to 5.0 - Proxmox VE
[SOLVED] - PVE 4.4 to 5.0 : no public key EF0F382A1A7B6500 | Proxmox Support Forum
網卡全抓到
proxmox 4建立cluster
以ssh或開啟介面的shell登入第一台pve1,
#pvecm create pvecluster #pvecluster是叢集的名稱,可自訂
以ssh或開啟介面的shell登入第二台pve2,
#pvecm add ip # ip請改為pve1的實際ip。
成功後可以pvecm status 或 pvecm nodes的指令查看叢集的狀況。
progress 97% (read 781147176960 bytes, duration 42110 sec)
progress 98% (read 789200240640 bytes, duration 42110 sec)
gzip: /mnt/nfs/var/nfsshare/vzdump-qemu-221-2018_04_13-06_09_27.vma.gz: invalid compressed data--crc error
progress 99% (read 797253304320 bytes, duration 42110 sec)
progress 100% (read 805306368000 bytes, duration 42110 sec)
total bytes read 805306368000, sparse bytes 301055287296 (37.4%)
space reduction due to 4K zero blocks 0.0443%
temporary volume 'local-zfs:vm-623-disk-1' sucessfuly removed
command 'zcat /mnt/nfs/var/nfsshare/vzdump-qemu-221-2018_04_13-06_09_27.vma.gz|vma extract -v -r /var/tmp/vzdumptmp28051.fifo - /var/tmp/vzdumptmp28051' failed: exit code 1
root@w31:/mnt/nfs/var/nfsshare#
proxmox4.4 >> proxmox 5.0
eth0:e1000
透過 apt 將 proxmox 4.4 升級到 5.0
1. 先將 4.4 更新
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
2. 更新 apt 來源, jessie 更換為 stretch
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/pve-enterprise.list
ps. 如果 pve-enterprise.list 中的項目本來就註解掉,則第二道指令不一定要做
3. apt update
ps. 如果遇到如下錯誤訊息,則執行步驟 4
W: There is no public key available for the following key IDs:
EF0F382A1A7B6500
4. (選擇性) apt install debian-keyring debian-archive-keyring
5. apt dist-upgrade
ps. 這一個步驟最好在本機執行,不要 ssh 遠端做,以免時間過長 ssh timeout ,如果一定要 ssh 遠端執行而且 timeout 了,重新 ssh 進入後找出 apt dist-upgrade process id,kill 掉(不確定是否一定要?),執行 dpkg --configure -a 之後應該就可以了
6. reboot
參考資料:
Upgrade from 4.x to 5.0 - Proxmox VE
[SOLVED] - PVE 4.4 to 5.0 : no public key EF0F382A1A7B6500 | Proxmox Support Forum