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


[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

CentOS 7和CentOS 6一些系统命令区别

最近在使用CentOS 7,发现很多命令等和CentOS 6不一样,所以这里列出来方便参考。
一、网卡、配置静态IP
二、常用的systemctl命令
CentOS 7开始使用systemd来代替init 系统父进程,因此熟练systemctl很有必要。
CentOS 7CentOS 6作用
systemctl start sshd.serviceservice sshd start启动ssh服务
systemctl stop sshd.serviceservice sshd stop停止ssh服务
systemctl restart sshd.serviceservice sshd restart重启ssh服务
systemctl status sshd.serviceservice sshd status  查看ssh服务状态
systemctl reload sshd.serviceservice sshd reload重新加载ssh服务
systemctl enable sshd.servicechkconfig --level 3 sshd on开机自启动ssh服务
systemctl disable sshd.servicechkconfig --level 3 sshd off开机禁止启动ssh服务
systemctl list-unit-files --type=servicechkconfig --list列出所有的服务状态
systemctl list-unitschkconfig --list、ntsysv列出允许中的服务单元
systemctl is-active sshd.servicechkconfig --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.targetvi /etc/inittab修改默认的运行等级
systemctl isolate runlevel3.targetinit 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

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

2018年2月1日 星期四

proxmox 5.1 4.4 >> proxmox 5.0

proxmox5.1
網卡全抓到


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      virito 

透過 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