2020年11月1日 星期日

Proxmox VMWare VM 轉檔


步驟一: 

PVE 上建立一台 「空的」 VM

例如 編號333


步驟2:

用 ftp / sftp  將 VMWare *.vmdk 檔案(WinSCP)
傳到 PVE Server的 tmp的目錄下 (是用檔名test.vmdk)

步驟3:

在 PVE Server 上
將 *.vmdk 轉為 qcow2 格式

$ qemu-img convert -f vmdk -O qcow2 /tmp/test.vmdk /tmp/test.qcow2

qemu-img 參數:
      -f 原始檔的格式  (可忽略,讓程式自動判斷原始檔格式)
     -O 目的檔的格式

步驟4:

$ /usr/sbin/qm importdisk 333 /tmp/test.qcow2 local-zfs --format qcow2
importing disk '/tmp/Slackware.qcow2' to VM 333 ...
transferred: 0 bytes remaining: 1610612736 bytes total: 1610612736 bytes progression: 0.00 %
transferred: 16911433 bytes remaining: 1593701303 bytes total: 1610612736 bytes progression: 1.05 %
transferred: 33983928 bytes remaining: 1576628808 bytes total: 1610612736 bytes progression: 2.11 %
:: ::  ::
Successfully imported disk as 'unused0:local-zfs:vm-333-disk-1'

跑完後 會自動在 /etc/pve/qemu-server/333.conf 加入一行該硬碟設定:

unused0:local-zfs:vm-333-disk-1

qm 大致命令:
qm importdisk  <vmid> <images-name> <storage pool>  --format <disk-fs>
   vmid: vm 的編號,例如 300
  images-name: 來源 image  檔案路徑
  storage poll: 匯入到哪個硬碟 (儲存空間)(local-zfs 或 local-vlm)
  disk-fs: image的格式,例如  raw / vmdk / qcow2

步驟5:

在 PVE Server 上

改一下 VM 設定檔案
1.刪掉原來的 SCSI 硬碟
2.把新的硬碟設定一下


參考網站出處:

Proxmox VE

mini box 迷你盒子

2020年10月26日 星期一

Proxmox VE 校正時間

由 PVE 自動校時:

PVE 預設沒有安裝 ntpdate,所以先更新 apt-get 再安裝 ntpdate。

apt-get update

apt-get install -y ntpdate

 ntpdate time2.google.com

2020年8月31日 星期一

Proxmox 網卡設定

 #vi /etc/network/interfaces

auto vmbr0

iface vmbr0 inet static

        address  192.168.100.60

        netmask  255.255.255.0

        gateway  192.168.100.254

        bridge-ports eno6

        bridge-stp off

        bridge-fd 0


auto vmbr1

iface vmbr1 inet static

        address  10.1.1.60

        netmask  24

        bridge-ports eno3

        bridge-stp off

        bridge-fd 0

#NAS_Port


重新啟動服務

#systemctl restart networking.service

2020年8月22日 星期六

D-Link 1510-28X指令

D-Link的指令,其實不難,就繁雜重覆,每個動作結束後,記得一定要退出(EXIT)不然就會一直在同個VLAN一直下指令。

#先進入設定模式
Switch#congfigure terminal

建立多個VLAN
Switch(config)#vlan 170,128,200
Switch(config-vlan)#exit

單獨一直修改 VLAN名稱 
Switch(config)#vlan 170 
Switch(config-vlan)#name V170 
Switch(config-vlan)#exit 
Switch(config)#vlan 128 
Switch(config-vlan)#name W128 
Switch(config-vlan)#exit
Switch(config)#vlan 200 
Switch(config-vlan)#name V200
Switch(config-vlan)#exit

建立VLAN後,直接修名稱的方式
Switch(config)#vlan 170
Switch(config-vlan)#name V170 
Switch(config-vlan)#exit

Switch(config)#vlan 128
Switch(config-vlan)#name w128 
Switch(config-vlan)#exit

Switch(config)#vlan 200
Switch(config-vlan)#name V200 
Switch(config-vlan)#exit


#修改埠的定義為帶 Tag 方式
Switch(config)#interface range ethernet 1/0/25-28
Switch(config-if)#switchport mode trunk 
Switch(config-if)#switchport trunk allowed vlan a11 
Switch(config-if)#exit

#修改埠的定義為帶 Access 方式(UnTag)
Switch(config)# interface range ethernet 1/0/1-12
Switch(config-if)#switchport mode access 
Switch(config-if)#switchport access vlan 170 
Switch(config-if)#exit 

Switch(config)# interface range ethernet 1/0/13-16
Switch(config-if)#switchport mode access 
Switch(config-if)#switchport access vlan 128
Switch(config-if)#exit 

Switch(config)# interface range ethernet 1/0/17-24
Switch(config-if)#switchport mode access 
Switch(config-if)#switchport access vlan 200 
Switch(config-if)#exit

#修改交換器的管理IP
Switch(config)#interface vlan 200
Switch(config-if)#ip address 192.168.200.1 255.255.255.0 
Switch(config-if)#no shutdown
Switch(config-if)#exit 

#修改交換器的Default Rount
Switch(config)#ip route 0.0.0.0 0.0.0.0 192.168.200.254

#修改交換器的 SNTP 對外校時功能
Switch(config)#sntp enable
Switch(config)#sntp server 216.239.35.12

#修改及增加管理帳號
Switch(config)#username school@@ password school@123
Switch(config)#username school@@ privilege 15
Switch(config)#username admin password school@@123

#最後儲存設定檔-完工
Switch#copy running-config startup-config   


2020年5月3日 星期日

教育部TANet無線漫遊設定【Perl + imap】

CentOS 6.8版本下載點
CentOS 7 版本下載點

在 CentOS 的安裝上,我是選擇陽春版的方式處理,這樣子等一下會安裝的套件比較多,但是也可以了解是那些套件要安裝,以後查修比較簡單。

安裝前先升級 yum 套件
 [root@openvpn]# yum -y update

步驟一:安裝 OPENVPN軟體
================================
[root@openvpn]# yum install -y epel-release
[root@openvpn]# yum install -y openvpn


步驟二:將漫遊中心提供的 key「clt_number_name.tar」上傳放置 /etc/openvpn
================================
CentOS 6.10裝法
[root@openvpn]# cd /etc/openvpn
[root@openvpn]# tar -zxf clt_number_shortname.tar
[root@openvpn]# service openvpn restart
[root@openvpn]# chkconfig openvpn on

CentOS 7.0裝法
[root@openvpn]# cd /etc/openvpn
[root@openvpn]# tar -zxf clt_number_shortname.tar
[root@openvpn]# cp client.conf server.conf
[root@openvpn]# systemctl  restart  openvpn@server
[root@openvpn]# systemctl  enable  openvpn@server

看 tun0 VPN通道是否有啟動,如 tun0 有產生10.1.X.X代表VPN連線成功

步驟三:安裝 freeradius 軟體套件
================================
[root@freeradius]# yum install -y freeradius freeradius-utils
[root@freeradius]# cd  /etc/raddb
[root@freeradius]# vi clients.conf
================================
client 10.1.77.7 {
          secret        = spiradawn
          shortname = roamingcenter
     }


client 192.168.10.199 {
          secret      =  radius-key
          shortname  =  controller
     }

client 10.1.77.11 { 
           secret = spiradawn
           shortname = roamingcenter-monitor

}
===================================
修改/etc/raddb的proxy.conf檔案
[root@freeradius]# vi proxy.conf
===================================
<-->
realm NULL {
        authhost = LOCAL
        accthost = LOCAL
        secret = niucltcc
}

//設定學校的網域名稱
realm ntusd.ttc.edu.tw {
         authhost = LOCAL  //設定Radius Server認證(auth)位址
         accthost = LOCAL  //設定Radius Server計費(accounting)位址
}
realm DEFAULT { 
          authhost = 10.1.77.7:1812
          accthost = 10.1.77.7:1813
          secret = spiradawn    //漫遊中心給的Radius Key (金鑰)
          nostrip
}

==============================
啟動 Freeradius 服務
CentOS 6.10的方式
[root@freeradius ]#service radiusd restart
[root@freeradius ]#chkconfig radiusd on -->開機啟動

CentOS 7的方式
[root@freeradius ]# systemctl  restart  radiusd

[root@freeradius ]# systemctl  enable  radiusd -->開機啟動


[root@freeradius]# radtest  testuser@niu  testpass  127.0.0.1   0   testing123
                             radtest  帳號              密碼       測試伺服器  通訊埠  Secret
Sending Access-Request of id 234 to 10.1.0.7 port 1812
        User-Name = "testuser@niu"
        User-Password = "testpass"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
rad_recv: Access-Accept packet from host 10.1.0.7 port 1812, id=234, length=20

以上測試freeradius驗證是否正常


步驟四:修改 selinux 關閉

# vim /etc/sysconfig/selinux
   SELINUX=disabled    #關閉selinux功能

關閉防火牆功能 --> CentOS 6 指令
# /etc/init.d/iptables save 存檔
# /etc/init.d/iptables stop 停止
開機時停用防火牆
# chkconfig iptables off

關閉 Firewalld 防火牆指令: --> CentOS 7 指令 
# systemctl stop firewalld.service
設定下次開機不會啟動 Firewalld 防火牆
# systemctl disable firewalld.service

================================

步驟五:安裝perl相關模組

# yum install freeradius-perl perl perl-IO-Socket-SSL perl-Mail-IMAPClient -y

修改/etc/raddb/mods-available/perl檔案

[root@radius]# vim /etc/raddb/modules/perl    -->CentOS 6 指令
  
perl {
        #module = ${confdir}/example.pl
         module = ${confdir}/imap.pl





}

[root@radius]# vim /etc/raddb/mods-available/perl -->CentOS 7 指令
       
perl {
        #filename = ${modconfdir}/${.:instance}/example.pl
         filename = ${modconfdir}/${.:instance}/imap.pl





}


新增/etc/raddb/mods-config/perl/imap.pl並新增下列內容

[root@radius]# vim /etc/raddb/imap.pl  -->CentOS 6 指令
[root@radius]# vim /etc/raddb/mods-config/perl/imap.pl  -->CentOS 7 指令

use Mail::IMAPClient;
use Data::Dumper;

use constant    RLM_MODULE_REJECT=>    0;#  /* immediately reject the request */
use constant    RLM_MODULE_FAIL=>      1;#  /* module failed, don't reply */
use constant    RLM_MODULE_OK=>        2;#  /* the module is OK, continue */
use constant    RLM_MODULE_HANDLED=>   3;#  /* the module handled the request, so stop. */
use constant    RLM_MODULE_INVALID=>   4;#  /* the module considers the request invalid. */
use constant    RLM_MODULE_USERLOCK=>  5;#  /* reject the request (user is locked out) */
use constant    RLM_MODULE_NOTFOUND=>  6;#  /* user not found */
use constant    RLM_MODULE_NOOP=>      7;#  /* module succeeded without doing anything */
use constant    RLM_MODULE_UPDATED=>   8;#  /* OK (pairs modified) */
use constant    RLM_MODULE_NUMCODES=>  9;#  /* How many return codes there are *

sub authorize {
        return RLM_MODULE_OK;
}

sub authenticate {
   my $imap = Mail::IMAPClient->new(
        User     => $RAD_REQUEST{'User-Name'},
        Password => $RAD_REQUEST{'User-Password'},
        Server   => "imap.gmail.com",
        Port     => 993,
        Ssl      =>  1,
   ) or return RLM_MODULE_REJECT;
  
   if($imap->connect){
        return RLM_MODULE_OK;
        $imap->logout;
   }
}

修改/etc/raddb/proxy.conf 新增realm
[root@radius]# vim /etc/raddb/proxy.conf

realm XXX.edu.tw {
        type            = radius
        authhost        = LOCAL
        accthost        = LOCAL
}












[root@radius]# vim /etc/raddb/sites- enabled/default

authorize {
   if (!control:Auth-Type && User-Password) {
        update control {
            Auth-Type := Perl   #如果沒有認證屬性和密碼屬性使用Perl模組認證
        }
   }
}
authenticate {
    Auth-Type Perl {   #新增Auth-Perl認證
        perl
    }
}





















[root@freeradius ]#service radiusd restart   --> CentOS 6 指令
[root@freeradius ]#systemctl restart radiusd   --> CentOS 7 指令


一、 EAP-GTC驗證
1.          修改/etc/raddb/mods-enabled/eap
 [root@freeradius ]#vim /etc/raddb/mods-enabled/eap
  …
  gtc{ 
  ……              
    auth_type = perl
 
  }

  peap {
  …
     default_eap_type = gtc
 
  }
















 修改/etc/raddb/sites-enabled/inner-tunnel
[root@freeradius ]#vim /etc/raddb/sites-enabled/inner-tunnel

authenticate {
  Auth-Type Perl {
     perl
  }
}




步驟九:修改 freeradius 修改ntlm_auth模組(802.1X)
=====================================
[root@tanetroaming]# vim /etc/raddb/modules/ntlm_auth

exec ntlm_auth {
wait = yes
#program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" #將這一行註銷起來

program = "/usr/bin/ntlm_auth --request-nt-key --domain=aaa.bbb.edu.tw --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --password=%{User-Password}"
#修改執行路徑和NULL認證方式
}


[root@tanetroaming]# vi /etc/raddb/sites-available/default
=====================================
authorize {
。。。略。。。
#  Read the 'users' file
files

if (!control:Auth-Type && User-Password) { #新增ntlm_auth驗證
        update control {
            Auth-Type := ntlm_auth
        }
    }
#
#  Look in an SQL database.  The schema of the database
#  is meant to mirror the "users" file.
#
#  See "Authorization Queries" in sql.conf

# sql
。。。略。。。

}


authenticate {
。。。略。。。

Auth-Type MS-CHAP {
mschap
}

Auth-Type ntlm_auth {    #新增ntlm_auth驗證
                ntlm_auth
}
==========================================
[root@freeradius ]# service radiusd restart #重啟 freeradius服務

參考資料如下