前陣子開始在找工作
很感謝老師學長的幫忙.有很多很多機會
很快的就把事情定了下來
目前就是已經確定了接下來的公司
也希望現在選擇的路是正確的
Tags
▼
2011年11月24日 星期四
2011年10月27日 星期四
Linux 70% Lab – OpenWebMail Sending via IPv6
openwebmail 目前尚未支援使用IPv6 SMTP
經過guru老師的提點後,研究出用下面的方法便可以達成此需求。
建置環境:
Server:Suse Linux 11.1
Client:任一作業系統
Server:
經過guru老師的提點後,研究出用下面的方法便可以達成此需求。
建置環境:
Server:Suse Linux 11.1
Client:任一作業系統
Server:
- yast –i perl-IO-Socket-INET6 perl-Socket6
- http://search.cpan.org/~sullr/Net-INET6Glue-0.5/lib/Net/INET6Glue/INET_is_INET6.pm
下載 NET-INET6Glue-0.5.tar.gz
- tar –zxvf NET-INET6Glue-0.5.tar.gz –C /usr/lib/perl5/5.10.0/i586-linux-thread-multi
- cd /usr/lib/perl5/5.10.0/i586-linux-thread-multi/Net-INET6Glue-0.5
- perl Makefile.PL
- make
- make test
- make install
- vi /srv/www/cgi-bin/openwebmail/openwebmail-send.pl
在23行下新增下列內容:
use IO::Socket::INET;
use Net::INET6Glue::INET_is_INET6;
my $sock = IO::Socket::INET->new('[server IPv6 address]:25' => 'ipv4address:smtp(25)');
- service postfix restart
- service cyrus restart
- service saslauthd restart
- /srv/www/cgi-bin/openwebmail/openwebmail-tools.pl
- 開啟OpenWebMail 寄信測試
2011年10月16日 星期日
Linux 70% Lab – DHCP with IPv6
先設定一般DHCP功能(不固定發放某IP給特定CLIENT)
Server1:- yast -i dhcpv6
- vi /etc/sysconfig/network/dhcp6s
做以下修改:
2:DHCP6SIF="eth0"
- vi /etc/dhcp6s.conf
新增以下內容:
interface eth0 {
server-preference 255;
renew-time 60;
rebind-time 90;
prefer-life-time 130;
valid-life-time 200;
allow rapid-commit;
option dns_servers 2002:a78:d01:0:800:27ff:fe03:b3e9 31100173.com;
link 31100173.com {
range 2002:a78:d01::1000 to 2002:a78:d01::2000/64;
prefix 2002:a78:d01::/64;
};
};
- service dhcp6s start
- chkconfig dhcp6s on
- yast –i dhcpv6
- yast –> Networking Devices –> Networking Settings –> Edit 要使用的網卡
--> 標定Dynamic Address 選單選DHCP 和 DHCP Version 6 Only
--> Next –>OK
- ifconfig 確認是否取得指定IP
設定發放固定IP給特定Client:
Client1- vi /var/lib/dhcpv6/client6.leasesxxxxxxxxxxx
開著等下設定會需要參考這裡的內容Server1:
- vi /etc/dhcp6s.conf
將內容改成:
interface eth0 {
server-preference 255;
renew-time 60;
rebind-time 90;
prefer-life-time 130;
valid-life-time 200;
allow rapid-commit;
option dns_servers 2002:a78:d01:0:800:27ff:fe03:b3e9 31100173.com;
link 31100173.com {
range 2002:a78:d01::1000 to 2002:a78:d01::2000/64;
prefix 2002:a78:d01::/64;
};
host client1 {
duid [client1文件中的duid];
iaidinfo {
iaid [client1文件名的iaid];
renew-time 1000;
rebind-time 2000;
};
address {
2002:a78:d01::1688/64;
prefer-life-time 2000;
valid-life-time 3000;
};
};
};
- service dhcp6s restart
- ifconfig 應該已經自動更新為指定的IP
2011年10月15日 星期六
Linux 70% Lab - Postfix + Cyrus + OpenWebMail with IPv6
Apache2:
Server1:- vi /etc/apache2/vhost.d/mail.31100173.com.conf
新增以下內容:
<VirtualHost 2002:a78:d01:0:800:27ff:fe03:b3e9:80>
ServerAdmin root@31100173.com
ServerName mail.31100173.com
DocumentRoot /srv/apache2/mail
ErrorLog /var/log/apache2/mail.31100173.com-error_log
CustomLog /var/log/apache2/mail.31100173.com-access_log combined
HostnameLookups Off
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
<Directory "/srv/apache2/mail">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- Service apache2 restart
- 開啟browser連入mail.31100173.com測試apache2是否正常運作
Postfix:
Server1:- chkconfig postfix on
- vi /etc/postfix/main.cf
做下列修改:
91:mydomain = 31100173.com
107:myorigin = $mydomain
268:mynetworks = [2002:a78:d01::]/64, [::1]/128
671:myhostname = mail.31100173.com
675:inet_interfaces = localhost, $myhostname
676:masquerade_domains = $mydomain
677:mydestination = $myhostname, localhost.$mydomain, $mydomain
679:mynetworks_style = subnet
681:relayhost = 10.120.101.101 <---驗收時再補上
687:smtpd_client_restrictions = hash:/etc/postfix/access
- service postfix restart
- telnet mail.31100173.com 25 測試smtp是否有通 (出現220才算成功)
- zypper ar http://download.opensuse.org/distribution/11.1/repo/oss opensuse11.1
- zypper install kmail
- kmail設定:Setting –> Configure Kmail..
Identities:Add
General:Your name:amy
Email address:amy@mail.31100173.com
OK.
Accounts:
Receiving:Add—> POP3 :
Account Name: amy
Host: mail.31100173.com
Login: amy
Password: XXXXXXXX
Sending:Add:
Name:amy
Host:mail.31100173.com
- 寄信到外部信箱做測試
- vi /etc/postfix/sender-canonical
amy info@mail.31100173.com
boby info@mail.31100173.com
- postmap hash:/etc/postfix/sender_canonical
Cyrus:
Server1:- yast –i cyrus (預設應該裝好了)
- service cyrus start
- telnet mail.31100173.com 110
- telnet mail.31100173.com 143
- vi /etc/postfix/transport
於文件最末端新增一行:
31100173.com cyrus:
- postmap hash:/etc/postfix/transport
- vi /etc/imapd.conf
於文件末端新增一行:
allowplaintext: yes
- service postfix restart
- service cyrus restart
- service saslauthd restart
- chkconfig saslauthd on
- chkconfig cyrus on
- 用Kmail測試收發信
OpenWebMail:
Server1:
- yast –i perl-MIME-tools (ver. 5.427-2.8)
- yast –i perl-Text-Iconv (ver. 1.4.3.85)
- tar –zxvf openwebmail-2.53.tar.gz –C /srv/apache2
- tar –zxvf openwebmail-2.53.tar.gz –C /srv/www
(事先於 http://www.openwebmail.org/openwebmail/download/release/2.53/ 下載)
- cp –a /srv/apache2/data/openwebmail /srv/apache2/mail
- cd /srv/www/cgi-bin/openwebmail
- vi etc/openwebmail.conf
做下列修改:
13:31100173.com
16:/srv/www/cgi-bin/openwebmail
18:/srv/apache2/mail/openwebmail
31:預設簽名檔 隨便改
- vi etc/defaults/openwebmail.conf
做以下修改:
30:mail.31100173.com
- cp etc/default/dbm.conf etc/
- vi etc/dbm.conf
做以下修改:
30:.db 改成 .pag
- cp etc/default/auth_unix.conf etc/
- vi etc/auth_unix.conf
做下列修改:
73: /etc/shadow
74: none
- chmod 4555 /srv/www/cgi-bin/openwebmail/openwebmail*.pl
- chown root.mail /srv/www/cgi-bin/openwebmail/openwebmail*.pl
- chmod 4555 /usr/bin/suidperl
- vi /etc/openwebmail_path.conf
新增以下內容:
/srv/www/cgi-bin/openwebmail
- rcapparmor stop
- chkconfig boot.apparmor off
- vi /srv/apache2/mail/index.html
修改為:
<html>
<head>
<meta http-equiv="refresh" content="0;
url=http://mail.31100173.com/cgi-bin/openwebmail/openwebmail.pl/">
</head>
</html>
- /srv/www/cgi-bin/openwebmail/openwebmail-tool.pl –init
(最後的send report可以不用送.若送了有錯誤訊息是正常的)HostOS:
- 開啟browser連入mail.31100173.com 登入openwebmail 測試收信
Linux 70% Lab – Samba Server with IPv6
Server2:
HostOS:
- mv /etc/samba/smb.conf /etc/samba/smb.conf.origin
- mkdir /srv/samba
- vi /etc/samba/smb.conf
新增下列內容:
[global]
workgroup = LXLAB
netbios name = server01
server string = samba server on server01
interfaces = lo eth0
log file = /var/samba/log.%m
max log size = 100
security = user
passdb backend = tdbsam
hosts allow = fd53:1a82:4e39:0::/64 ::1
printing = cups
printcap name = cups
cups options = raw
[labdir]
comment = user level, for amy and boby (rw)
path = /srv/samba/labdir
read only = No
printable = No
public = No
browseable = Yes
inherit acls = Yes
valid user = amy boby
- chkconfig smb on
- chkconfig nmb on
- useradd –m amy
- useradd –m boby
- smbpasswd –a amy
- smbpasswd –a boby
- pdbedit –L –v | grep amy
- pdbedit –L –v | grep boby
- service smb start
- service nmb start
- testparm
HostOS:
- smbclient –L server2
- smbclient –U amy //server2/labdir
磁碟配額部份:
Server2:- 先關機多加一顆虛擬硬碟
- fdisk /dev/sdb
n --> p --> 1 --> default --> default --> p --> w
- mkfs.ext3 /dev/sdb1
- vi /etc/fstab
做下列修改:
/dev/sdb1 / /srv/samba ext3 defaults,usrquota 0 0
- mount -a
- mount 確定剛才的設定是否套用
- cd /srv/samba
- quotacheck –uvcm /dev/sdb1
- ll 應有aquota.user
- chkconfig boot.quota on
- quotaon -uv /dev/sdb1
- edquota –u amy
- edquota –u boby
amy和boby都做以下設定
Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 8000 10000 14 0 0
- quota –u amy
- quota –u boby 查看是否設定正確
- mkdir labdir
- chmod 1777 labdir
HostOS:
- smbclient -U amy //server2/labdir
- put files 測試
2011年10月14日 星期五
Linux 70% Lab – Apache2 with IPv6
Server1:
AuthType Basic
AuthUserFile /etc/htusers
require valid-user
- yast –i apache2 apache2-doc apache2-example pages
- service apache2 start
- chkconfig apache2 on
- 使用browser連線到www.31100173.com測試apache2是否正常運作
- vi /etc/apache2/default-server.conf
於文件末端新增兩行:
ServerName server1
ServerAdmin root@server1
- vi /etc/apache2/listen.conf
46行改為: VirtualNameHost [server IPv6 address]:80
- mkdir –p /srv/apache2/www
- mkdir /srv/apache2/mail
- mkdir /srv/apache2/public
- mkdir /srv/apache2/private
- cp /srv/www/htdocs/index.html /srv/apache2/www/index.html
- cp /srv/www/htdocs/index.html /srv/apache2/mail/index.html
- cp /srv/www/htdocs/index.html /srv/apache2/public/index.html
- cp /srv/www/htdocs/index.html /srv/apache2/private/index.html
- 將每個目錄下的index.html稍作修改以便識別
- cd /etc/apache2/vhost.d
- cp vhost.template www.31100173.com.conf
- vi www.31100173.com
做以下修改:
<VirtualHost 2002:a78:d01:0:800:27ff:fe03:b3e9:80>
ServerAdmin root@31100173.com
ServerName www.31100173.com
DocumentRoot /srv/apache2/www
ErrorLog /var/log/apache2/www.31100173.com-error_log
CustomLog /var/log/apache2/www.31100173.com-access_log combined
HostnameLookups Off
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
Alias /public "/srv/apache2/public"
Alias /private "/srv/apache2/private"
<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
<Directory "/srv/apache2/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all</Directory>
<Directory "/srv/apache2/public">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/srv/apache2/private">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- cp www.31100173.com.conf mail.31100173.com.conf (之後做openmail才會用到)
- vi /srv/apache2/private/.htaccess
新增下列內容:AuthName "Password Required ..."
AuthType Basic
AuthUserFile /etc/htusers
require valid-user
- htpasswd2 –cm /etc/htusers amy
- htpasswd2 –m /etc/htusers boby
- 使用browser分別連入 www.31100173.com 測試是否能正常運作.限制使用者
www.31100173.com/public
www.31100173.com/private
mail.31100173.com
2011年10月13日 星期四
Linux 70% Lab – FTP (pure-ftpd) with IPv6
Server1:
HostOS:
- yast –i pure-ftpd
- vi /etc/pure-ftpd/pure-ftpd.conf
修改下列內容:
40行:20
52行:2
74行:no
80行:yes
107行:5
146行:yes
230行:32
347行:1280:5
449行:10066:10088
- service pure-ftpd restart
- chkconfig pure-ftpd on
HostOS:
測試上述設定是否有效執行
Linux 70% Lab - CUPS with IPv6
Server2:
HostOS:
Server2:
HostOS:
- vi /etc/cups/cupsd.conf
於18行下方新增一筆: Listen [server2 IPv6 address]:631
25行下方新增兩筆: BrowseAddress @LOCAL
BrowseAddress [IPv6 prefix]/64
31行註解掉,下方新增一筆
DefaultAuthType BasicDigest
37及44行下方新增一筆: allow @LOCAL
- lppasswd –a admin –g sys
- vi /etc/cups/printers.conf
- service cups restart
HostOS:
- 使用browser開啟http://server2.31100173.com:631
- 新增印表機lp0
Server2:
- watch ls –l /var/spool/cups 觀看佇列
- lpq –P lp0
HostOS:
- 繼續使用browser讓lp0列印測試頁,再回頭看server2佇列是否有增加檔案
- 使用browser開啟http://127.0.0.1:631
- 新增網路印表機lp0
- 列印測試頁
Linux 70% Lab – DNS(BIND) with IPv6
Server1:
Server2:
Server1:
Server2:
- yast –i bind bind-doc bind-chrootenv
- vi /etc/named.conf
修改71行: notify yes;
於文件末端新增:
zone "31100173.com" in {
allow-transfer { any; };
file "master/31100173.com";
type master;
};
- vi /var/lib/named/master/31100173.com
新增以下內容:### 上面兩步的內容也可以用yast做,會輕鬆許多 ###
$TTL 2d
@ IN SOA server70-1.lxlab.com. root.server70-1.lxlab.com. (
2011101300 ; serial
3h ; refresh
1h ; retry
1w ; expiry
1d ) ; minimum
31100173.com. IN MX 1 mail.31100173.com.
31100173.com. IN NS server1.31100173.com.
31100173.com. IN NS server2.31100173.com.
server1 IN AAAA fd53:1a82:4e39:0:800:27ff:fea7:bfd0
server2 IN AAAA fd53:1a82:4e39:0:800:27ff:fe3b:5470
www IN CNAME server1
mail IN CNAME server1
ftp IN CNAME server1
- service named restart
- chkconfig named on
Server2:
- yast –i bind bind-doc bind-chrootenv
- scp root@server1:/etc/named.conf /etc/named.conf
- vi /etc/named.conf
做以下修改:
zone "31100173.com" in {
allow-transfer { any; };
masters { fd53:1a82:4e39:0:800:27ff:fea7:bfd0; }; file "slave/31100173.com";
type slave;
- service named restart
- chkconfig named on
Server1:
- service named restart
Server2:
- vi /var/lib/named/slave/31100173.com 查看內容是否正確無誤
2011年10月1日 星期六
作業三 :自動化異地備份所有使用者家目錄
目標:
於server1(自己的主機), 建立一指令稿(使用bash) backup.sh 存放於/root/bin/內,
工作內容是對/home目錄進行差異式備份(differential backup), 且必須滿足以下需求:
a) 指令稿內必須使用tar 指令進行備份.
b) 於每週五時, 指令稿必須進行完整備份(full backup).
c) 於每週一至週四, 指令稿必須進行差異式備份(differential backup), 只備份full backup後有異動的部份資料.
d) 指令稿必須能找出備份當日的星期名稱(如Mon,Tue,Wed,...), 以便能判斷出必須採用的備份方法.
e) 使用一參考檔案(/var/backup/last-backup), 以便進行 full backup 後的郵戮時間點, 作為 differential backup 啟始點的依據.
f) 對產生的備份檔須符合以下格式:
* Full backup: /var/backup/backup-full-YYY-MM-DD.tar.bz2
* Differential backup: /var/backup/backup-diff-YYYY-MM-DD.tar.bz2. 其中YYYY-MM-DD 是備份當日的格式 (如. 2011-09-29).
g) 若進行備份失敗, 該指令稿必須能發出 email 給 root@server1. 主旨為"Backup failed !", email內容可不需要指定.
h) 於指令稿內使用rsync進行同歩server1的/var/backup目錄, push 到 server2的 /home/bkman/backup目錄,
以實現異地備份任務.(bkman 為該帳戶的home folder. 且server2為測試主機)
i) 使用例行式排程於週一至週五晚上22:30執行backup.sh.
j) 假設你backup資料的安全存量為四周, 此script能自動刪除超過一個月的backup 資料.
Server1:
#WrittenBy YuningLau
#Full Backup Funtion
full()
{
touch /var/backup/last-backup
rm -rf /var/backup/backup_full_"$date28".tar.bz2
tar -cjvf /var/backup/backup_full_`date +%F`.tar.bz2 /home
}
#Differential Backup Funtion
diff()
{
rm -rf /var/backup/backup_diff_"$date28".tar.bz2
find /home -type f -newer /var/backup/last-backup -print0 | tar --null -cjvf /var/backup/backup_diff_`date +%F`.tar.bz2 -T -
}
#Name parameters to see which day today is :
today=`date +%u`
date28=`date --date='28days ago' +%F`
#Remove backup files over 4 weeks
rm -rf /var/backup/backup_*_"$date28".tar.bz2
#Exam which type to backup
case "$today" in
[5])
full
;;
[1234])
diff
;;
esac
#Exam the backup is complete or not
#If fail, send notification to root
#If sucess, push to backup server(server2)
if [ $# -ne 0 ]
then
mail -s "Backup Failed!!!" root@es11-s1
else
rsync -ave ssh -6 --delete /var/backup root@es11-s2:/home/bkman
fi
exit 0
Server2:
於server1(自己的主機), 建立一指令稿(使用bash) backup.sh 存放於/root/bin/內,
工作內容是對/home目錄進行差異式備份(differential backup), 且必須滿足以下需求:
a) 指令稿內必須使用tar 指令進行備份.
b) 於每週五時, 指令稿必須進行完整備份(full backup).
c) 於每週一至週四, 指令稿必須進行差異式備份(differential backup), 只備份full backup後有異動的部份資料.
d) 指令稿必須能找出備份當日的星期名稱(如Mon,Tue,Wed,...), 以便能判斷出必須採用的備份方法.
e) 使用一參考檔案(/var/backup/last-backup), 以便進行 full backup 後的郵戮時間點, 作為 differential backup 啟始點的依據.
f) 對產生的備份檔須符合以下格式:
* Full backup: /var/backup/backup-full-YYY-MM-DD.tar.bz2
* Differential backup: /var/backup/backup-diff-YYYY-MM-DD.tar.bz2. 其中YYYY-MM-DD 是備份當日的格式 (如. 2011-09-29).
g) 若進行備份失敗, 該指令稿必須能發出 email 給 root@server1. 主旨為"Backup failed !", email內容可不需要指定.
h) 於指令稿內使用rsync進行同歩server1的/var/backup目錄, push 到 server2的 /home/bkman/backup目錄,
以實現異地備份任務.(bkman 為該帳戶的home folder. 且server2為測試主機)
i) 使用例行式排程於週一至週五晚上22:30執行backup.sh.
j) 假設你backup資料的安全存量為四周, 此script能自動刪除超過一個月的backup 資料.
Server1:
- vi /root/bin/backup.sh
#WrittenBy YuningLau
#Full Backup Funtion
full()
{
touch /var/backup/last-backup
rm -rf /var/backup/backup_full_"$date28".tar.bz2
tar -cjvf /var/backup/backup_full_`date +%F`.tar.bz2 /home
}
#Differential Backup Funtion
diff()
{
rm -rf /var/backup/backup_diff_"$date28".tar.bz2
find /home -type f -newer /var/backup/last-backup -print0 | tar --null -cjvf /var/backup/backup_diff_`date +%F`.tar.bz2 -T -
}
#Name parameters to see which day today is :
today=`date +%u`
date28=`date --date='28days ago' +%F`
#Remove backup files over 4 weeks
rm -rf /var/backup/backup_*_"$date28".tar.bz2
#Exam which type to backup
case "$today" in
[5])
full
;;
[1234])
diff
;;
esac
#Exam the backup is complete or not
#If fail, send notification to root
#If sucess, push to backup server(server2)
if [ $# -ne 0 ]
then
mail -s "Backup Failed!!!" root@es11-s1
else
rsync -ave ssh -6 --delete /var/backup root@es11-s2:/home/bkman
fi
exit 0
- mkdir /var/backup
- ssh-keygen –t rsa
- scp id_rsa.pub root@[server2 IPv6 Addr.]:/root/server1.pub
- vi /etc/crontab
於文件末端新增一筆:
30 22 * * 1-5 root bash /root/bin/backup.sh
Server2:
- useradd –m bkman
- passwd bkman
- cat server1.pub >> /root/.ssh/authorized_keys
2011年9月30日 星期五
作業二:規劃專屬 Log Server, 及 remote access 的管理
需求 :
1. Topology 如圖.
2. 請aman 自OpenSuSE 執行 ssh 到 server1(sshd) 的登入失敗訊息記錄
自動出現在 server2(log server) 的/var/log/HOSTS/server1/local0-YYYY-MM-DD.log 檔.
3. server2(log server) 的 /var/log/HOSTS/ 內的 server1 子目錄必須能自動產生.
4. 記錄檔的格式如 : local0-2011-09-29.log. (其中local0 為自動取名的預先定義的facility 名稱)
5. server2(log server) 須 listen 的 protocol 為 TCP, port 須為 666.
6. 更改PAM的相關組態檔, 限制aman能登入的時段為周1-5的0800~1800
server1:
account required pam_time.so
account required pam_time.so
login;*;aman;!Al1800-0800 & SaSu0800-1800
sshd;*;aman;!Al1800-0800 & SaSu0800-1800
server2:
source remote{tcp6(ip("::") port(666)); };
filter f_s1sshd { level(debug..emerg) and facility(local0) and match(error); };
destination s1sshd { file("/var/log/HOSTS/$HOST/$FACILITY-$YEAR-$MONTH-$DAY.log"
create_dirs(yes)); };
log { source(remote); filter(f_s1sshd); destination(s1sshd); };
1. Topology 如圖.
2. 請aman 自OpenSuSE 執行 ssh 到 server1(sshd) 的登入失敗訊息記錄
自動出現在 server2(log server) 的/var/log/HOSTS/server1/local0-YYYY-MM-DD.log 檔.
3. server2(log server) 的 /var/log/HOSTS/ 內的 server1 子目錄必須能自動產生.
4. 記錄檔的格式如 : local0-2011-09-29.log. (其中local0 為自動取名的預先定義的facility 名稱)
5. server2(log server) 須 listen 的 protocol 為 TCP, port 須為 666.
6. 更改PAM的相關組態檔, 限制aman能登入的時段為周1-5的0800~1800
server1:
- vi /etc/ssh/sshd_config
取消35.36行的註解,並將35行SyslogFacility的值改為local0
- vi /etc/syslog-ng/syslog-ng.conf
於文件末端添加以下內容:
filter f_sshd { level(debug..emerg) and facility(local0); };
destination sshd {
tcp6("server2 IPv6位址" port(666));};
log { source(src); filter(f_sshd); destination(sshd); };
- useradd –m aman
- passwd aman
- vi /etc/pam.d/login
account required pam_time.so
- vi /etc/pam.d/sshd
account required pam_time.so
- man pam_time
- vi /etc/security/time.conf
login;*;aman;!Al1800-0800 & SaSu0800-1800
sshd;*;aman;!Al1800-0800 & SaSu0800-1800
server2:
- vi /etc/syslog-ng/syslog-ng.conf
source remote{tcp6(ip("::") port(666)); };
filter f_s1sshd { level(debug..emerg) and facility(local0) and match(error); };
destination s1sshd { file("/var/log/HOSTS/$HOST/$FACILITY-$YEAR-$MONTH-$DAY.log"
create_dirs(yes)); };
log { source(remote); filter(f_s1sshd); destination(s1sshd); };
2011年9月29日 星期四
作業一:SUSE Linux Enterprise 11.4 IPv6設定方法
目標:
1. 依ULA-64的格式(fdxx開始的首碼)產生一 IPV6 Network Address,
Prefix為 /64的local unicast address (不是 link local, 也不是 glocal unicast).
2. 任選二個 Interface ID 設給 Server1 及 Server2 使用,
且定義於 /etc/syscoconfig/network/ifcfg -eth0 內.
3. 自Server1 執行 ping6 -I eth0 Server2 必須有回應, 以確保IPV6網路有通.
Server1.2各作以下設定:
1. 依ULA-64的格式(fdxx開始的首碼)產生一
Prefix為 /64的local unicast address (不是 link local, 也不是 glocal unicast).
2. 任選二個 Interface ID 設給 Server1 及 Server2 使用,
且定義於 /etc/syscoconfig/network/ifcfg
3. 自Server1 執行 ping6 -I eth0 Server2 必須有回應, 以確保IPV6網路有通.
Server1.2各作以下設定:
- vi /etc/sysconfig/network/ifcfg-eth0
於文件末端新增三筆資料:
LABEL_0=’0’
IPADDR_0=’本機的IPv6位址’
PREFIXLEN_0='64'
- vi /etc/hosts
[目的server的IPv6位址] [主機FQDN] [主機名稱]
- rcnetwork restart
- ping6 –I eth0 [目的server的主機名稱]
2011年9月7日 星期三
TCP/IP筆試-不同網段的telnet封包
我是直接連到批踢踢來抓包
我想這已經有符合老師要的"不同網段" 以及"telnet”了
先看一下我抓到的封包吧!
截圖只有放重點.中間的封包都省略了!
由Client(192.168.0.100)發送到DNS Server(168.95.192.1)的詢問封包
使用Client的49905 port(隨機選取)發送UDP封包到Server的 53 port
內容是詢問ptt.cc這個名稱的IP位址
DNS Server回應了好幾組關於ptt.cc的主機紀錄到Client
同樣的.由DNS Server的53 port發送UDP封包回到Client的49905 port
這個封包是三向交握的第一個封包-- 由Client傳給Telnet Server(從DNS給的IP中隨機選取了140.112.172.4)
目的是主動提出建立連線的要求
client使用的port是隨機選擇的51822port
發送TCP封包到server的23port (telnet預設的port number)
內容只有flag六種控制欄位中的syn欄位
並且sequence=0 length=0
表示資料由編號0開始(也就是這個封包本身).而且data部份的長度是0
119號封包的內容如下:
這個封包是由server回應client的封包.也是三向交握的第二步
在這個封包中flag同時會有syn跟ack的欄位
syn欄位是server要告訴client:server這邊的封包從0開始(seq=0)
而ack欄位則是表示: 有收到client傳來.編號0的封包.可以送編號1的封包了(ack=1)
同樣的.這個封包也沒有包含data在內.所以長度一樣為0
120號封包內容如下:
由client發送給server
這個封包中旗標的部份只有ack=1 表示告訴server有收到上一個封包 可以傳送Server那邊seq=1的封包了
seq=1則是表示Client這邊的封包目前編號到1
長度同樣為0
而Server收到這個封包之後三向交握就算是完成了
接下來就會由Server開始傳送資料(Telnet封包)過來了!
因為在TELNET軟體中提出了斷線的要求
所以由伺服端送出結束連線的封包
一樣是沒有data只有旗標欄位(fin).長度為0的封包
同時這個封包也包含了ack欄位.表示有收到上一個由client送出的封包
client端收到server端結束的要求後
首先會送出ack封包.表示有收到這個訊息
這時候server端到client端的連線就正式斷了
但client端到server端的連線還存在著
也就是說server端還可以接收從client端來的訊號
client端隨即會再送出和server端一樣的fin, ack封包
提出要結束連線的要求
server端收到後會送出彼此連線間的最後一個封包
表示有收到剛剛由client端提出的要求
同時server和client間的連接到此也已經完全結束了
我想這已經有符合老師要的"不同網段" 以及"telnet”了
先看一下我抓到的封包吧!
截圖只有放重點.中間的封包都省略了!
首先是DNS:
11號封包內容如下:由Client(192.168.0.100)發送到DNS Server(168.95.192.1)的詢問封包
使用Client的49905 port(隨機選取)發送UDP封包到Server的 53 port
內容是詢問ptt.cc這個名稱的IP位址
12號封包內容如下:
DNS Server回應了好幾組關於ptt.cc的主機紀錄到Client
同樣的.由DNS Server的53 port發送UDP封包回到Client的49905 port
再來是三向交握:
118號封包的內容如下這個封包是三向交握的第一個封包-- 由Client傳給Telnet Server(從DNS給的IP中隨機選取了140.112.172.4)
目的是主動提出建立連線的要求
client使用的port是隨機選擇的51822port
發送TCP封包到server的23port (telnet預設的port number)
內容只有flag六種控制欄位中的syn欄位
並且sequence=0 length=0
表示資料由編號0開始(也就是這個封包本身).而且data部份的長度是0
119號封包的內容如下:
這個封包是由server回應client的封包.也是三向交握的第二步
在這個封包中flag同時會有syn跟ack的欄位
syn欄位是server要告訴client:server這邊的封包從0開始(seq=0)
而ack欄位則是表示: 有收到client傳來.編號0的封包.可以送編號1的封包了(ack=1)
同樣的.這個封包也沒有包含data在內.所以長度一樣為0
120號封包內容如下:
由client發送給server
這個封包中旗標的部份只有ack=1 表示告訴server有收到上一個封包 可以傳送Server那邊seq=1的封包了
seq=1則是表示Client這邊的封包目前編號到1
長度同樣為0
而Server收到這個封包之後三向交握就算是完成了
接下來就會由Server開始傳送資料(Telnet封包)過來了!
結束連線的四向交握(半關閉):
因為在TELNET軟體中提出了斷線的要求
所以由伺服端送出結束連線的封包
一樣是沒有data只有旗標欄位(fin).長度為0的封包
同時這個封包也包含了ack欄位.表示有收到上一個由client送出的封包
client端收到server端結束的要求後
首先會送出ack封包.表示有收到這個訊息
這時候server端到client端的連線就正式斷了
但client端到server端的連線還存在著
也就是說server端還可以接收從client端來的訊號
client端隨即會再送出和server端一樣的fin, ack封包
提出要結束連線的要求
server端收到後會送出彼此連線間的最後一個封包
表示有收到剛剛由client端提出的要求
同時server和client間的連接到此也已經完全結束了
2011年9月5日 星期一
上傳PDF檔至Life知識網
首先必需將Word檔存成pdf檔
開啟要上傳的檔案使用"另存新檔"即可轉存成pdf檔再來要將pdf檔上傳至網路
進入這個網站 http://issuu.com/explore點擊右上角的create account
直接點選選"連結到臉書" (就是臉書的那個圖案)
跳出的視窗按一下同意.帳號就建好了~
一樣畫面右上角. 點選"upload” 就會出現上面這個畫面
按browse選擇剛剛轉成pdf的檔案
title打一下標題
description打一下關於這個文件的敘述(好像不能太短)
webname在把檔案傳上去時應該就會設定好.不需要特別更動
keyword 方便別人搜尋到你這文件的關鍵字.至少要輸入兩個關鍵字
info link 可跳過
type 文件的分類 依個人喜好選擇
child-safe 如果沒有色情暴力的內容就選yes.反之就選no
publish date 上傳的日期 也不需要特別更動
下面的選項都可以不用填
資料都設定好之後就按下最下面的"upload file”
等待進度條跑完即完成上傳
把上傳好的檔案轉貼到LIFE知識網
上傳好之後會自動跳到你自己帳號的主畫面
在右上角點選改變一下檢視的方法
類似這樣. 就可以把想要po出來的檔案勾選
再 點選上方灰色工具列的 " <>embed ”
就會跳出一串html的語法了! 把它copy下來...
到life知識網去登入自己的帳號..
進到ms lab資源庫底下..
點選"撰寫文件"
注意! 不是上傳文件喔!
勾選下面的"html mode" 然後把剛剛那串code貼上..
標題.作者打一打..
按確定就可以發文囉!!
2011年8月4日 星期四
母碟建置:
1. 硬碟大小:
3. 安裝防毒FCS:
- 2008R2:20G
- 2003:12G
- XP:10G
3. 安裝防毒FCS:
- 插入FCS安裝光碟
- 進入命令提示字元:進入D:\client目錄->輸入client.exe /nomom指令
- 完成安裝後,利用Microsoft Update更新
- 開始->執行gpedit.msc開啟"本機群組原則編輯器"->電腦設定->系統管理範本->系統->選取"顯示關機事件追蹤器"->選取"已停用"
- 至"電腦設定->Windows設定->安全性設定->帳戶原則->密碼原則"中設定
- 2008R2:在伺服器管理員中選取”設定IE ESC”關閉即可
- 2003:在"新增/移除元件"中將"Internet Explorer Enhanced Security Configuration"取消勾選
- 將與作業系統版本相對應的BGInfo資料夾複製到系統根目錄底下
- 執行"setup"
- 各OS的安裝光碟iso檔
- newSID
- BGInfo
- 資策會硬碟中的”others”資料夾
- 其他
- SYSPREP位於"C:\WINDOWS\SYSTEM32\SYSPREP”資料夾中
2011年7月24日 星期日
如何允許特定port不受防火牆限制
這邊以NetBIOS為例
在連接同一區域網路中電腦所架設的網站時,若是輸入電腦名稱。
便需要NetBIOS來做名稱解析。
可是這在防火牆中預設是封鎖的,因此我們要修改防火牆的設定,
好讓防火牆不會阻檔NetBIOS接收廣播封包來做解析。
首先從控制台進入"Windows防火牆",並點選"進階設定",會看到像下面這樣的視窗
點選輸入規則,找到"檔案與印表機共用"群組中的:
若是想要允許ping的封包,也可以在此開啟"檔案及印表機共用 (回應要求 - ICMPv4-In)"
或在"輸入規則"按右鍵選取"新增規則"自行建立想要的設定。
在連接同一區域網路中電腦所架設的網站時,若是輸入電腦名稱。
便需要NetBIOS來做名稱解析。
可是這在防火牆中預設是封鎖的,因此我們要修改防火牆的設定,
好讓防火牆不會阻檔NetBIOS接收廣播封包來做解析。
首先從控制台進入"Windows防火牆",並點選"進階設定",會看到像下面這樣的視窗
點選輸入規則,找到"檔案與印表機共用"群組中的:
- 檔案及印表機共用 (NB-Name-In)
- 檔案及印表機共用 (NB-Datagram-In)
- 檔案及印表機共用 (NB-Session-In)
若是想要允許ping的封包,也可以在此開啟"檔案及印表機共用 (回應要求 - ICMPv4-In)"
或在"輸入規則"按右鍵選取"新增規則"自行建立想要的設定。
2011年7月23日 星期六
NAT Server架設
Windows 2008的課程最後,老師講解的是NAT Server的架設
選取原本設定在同一個網段(192.168.8.0/24)中的VM來做模擬
1.新增第二張網卡作為內部網卡
2.在伺服器管理員中新增角色-安裝NAT管理工具
2.設定內部網卡IP及Subnet Mask
兩張網卡所預設的網路名稱為區域連線及區域連線2
為了識別方便將外部網卡連線改名為"WAN"
內部網卡連線改名為"LAN",其中LAN使用的是192.168.100.0/24的網段。
2003DC:
1.使用新增或移除元件新增IIS管理工具及FTP功能
點選Application Server,讓它打灰色勾勾(僅安裝部份功能)
點選詳細資料進入下一層選單
點選IIS,並進入詳細資料選單
將最下方的FTP也勾選,確定之後安裝
安裝好之後進入IIS的管理工具,可以看到已經架好了預設的WEB網頁及FTP站台
到WEB網頁及FTP站台的根目錄中新增幾筆資料以便等會識別用
XP:
只要確認可以正常連上網路就好。
另外,上面這些設定都做好之後,最好是每台互相ping一下看看是否可以正常連接
但是2008MS的內部網卡這時並無法被2003DC及XP ping到。
最好也一併檢查一下2008MS及XP的DNS是否指向到2003DC,拿掉。
(注意這時還是用.8網段的IP連線到2003DC)
也試一試2003DC架好的WEB及FTP能否在2008DC及XP中正常連線
若是遇到Virtual Box的Bug而沒辦法連線到FTP,可以將FTP所使用的TCP port改用別的port
這邊用的是2121。
一點也不難
只要把網卡由原本的Host-Only改成內部網路。
再把TCP/IP(IPv4)的參數重新設定一下就好!
(這兩個部分可以直接開機的時候做修改,但若是怕出問題或改了之後怪怪的就改好重開機吧)
都弄好之後,可以再次試著ping 2008MS,會發現只能ping到.100的網段
當然也沒有辦法連接到外部網路。
2008MS的NAT設定:
開啟NAT管理工具,對2008MS(本機)按右鍵選"設定和啟用路由及遠端存取"
進入了安裝精靈
選擇要做為外部網路使用的連線
因為有些功能我們之前就有安裝過了,這邊選稍後自行設定。
此時2003DC應該就可以連線到網際網路上了!
連出OK了,那連入呢?
2003DC使用的是Private IP,所以要從外部連線到它所架設的站台,
得先設定讓2008MS收到連線要求時自動轉送到2003DC去。
開啟NAT管理工具,點選2008MS —> IPv4 –> NAT,對其中的WAN按右鍵編輯內容
我們在2003DC架了WEB及FTP,所以在這個地方要把這兩項的轉址功能打開並加以設定
(因為FTP預設的port只能是21,但我們將它改為2121,所以必需手動新增新的規則)
HTTP的部分輸入2003DC所使用的IP就好
FTP的部分就另外設定一下連入連出的port
連入是指用戶要經由2008MS轉址到2003DC的FTP站台時,所需要指定的port,
這兩個都可以隨自己喜好設1025~65535之間的數值,
只要連出port和你在2003DC的IIS中設定的一樣就好。
都設定好之後就用XP來試試看連不連得上囉!
注意這邊不能使用電腦名稱來連接2003DC,
因為在.8這個網段中已經找不到這台電腦,
而且它所位在的.100網段是私人的內部網路,
我們必須透過2008MS轉址才能連線到2003DC
所以要輸入的是2008MS的IP位址(電腦名稱也可以,DNS會幫我們連過去的~)
大功告成囉!!
選取原本設定在同一個網段(192.168.8.0/24)中的VM來做模擬
- 2008MS作為NAT Server
- 2003DC作為內部網路中的IIS Server
- XP作為一般用戶端電腦
- 事前的準備工作包括:
1.新增第二張網卡作為內部網卡
2.在伺服器管理員中新增角色-安裝NAT管理工具
2.設定內部網卡IP及Subnet Mask
兩張網卡所預設的網路名稱為區域連線及區域連線2
為了識別方便將外部網卡連線改名為"WAN"
內部網卡連線改名為"LAN",其中LAN使用的是192.168.100.0/24的網段。
2003DC:
1.使用新增或移除元件新增IIS管理工具及FTP功能
點選Application Server,讓它打灰色勾勾(僅安裝部份功能)
點選詳細資料進入下一層選單
點選IIS,並進入詳細資料選單
將最下方的FTP也勾選,確定之後安裝
安裝好之後進入IIS的管理工具,可以看到已經架好了預設的WEB網頁及FTP站台
到WEB網頁及FTP站台的根目錄中新增幾筆資料以便等會識別用
XP:
只要確認可以正常連上網路就好。
另外,上面這些設定都做好之後,最好是每台互相ping一下看看是否可以正常連接
但是2008MS的內部網卡這時並無法被2003DC及XP ping到。
最好也一併檢查一下2008MS及XP的DNS是否指向到2003DC,拿掉。
(注意這時還是用.8網段的IP連線到2003DC)
也試一試2003DC架好的WEB及FTP能否在2008DC及XP中正常連線
若是遇到Virtual Box的Bug而沒辦法連線到FTP,可以將FTP所使用的TCP port改用別的port
這邊用的是2121。
- 將2003DC移入內部網路:
一點也不難
只要把網卡由原本的Host-Only改成內部網路。
再把TCP/IP(IPv4)的參數重新設定一下就好!
(這兩個部分可以直接開機的時候做修改,但若是怕出問題或改了之後怪怪的就改好重開機吧)
都弄好之後,可以再次試著ping 2008MS,會發現只能ping到.100的網段
當然也沒有辦法連接到外部網路。
2008MS的NAT設定:
開啟NAT管理工具,對2008MS(本機)按右鍵選"設定和啟用路由及遠端存取"
進入了安裝精靈
選擇要做為外部網路使用的連線
因為有些功能我們之前就有安裝過了,這邊選稍後自行設定。
此時2003DC應該就可以連線到網際網路上了!
連出OK了,那連入呢?
2003DC使用的是Private IP,所以要從外部連線到它所架設的站台,
得先設定讓2008MS收到連線要求時自動轉送到2003DC去。
開啟NAT管理工具,點選2008MS —> IPv4 –> NAT,對其中的WAN按右鍵編輯內容
我們在2003DC架了WEB及FTP,所以在這個地方要把這兩項的轉址功能打開並加以設定
(因為FTP預設的port只能是21,但我們將它改為2121,所以必需手動新增新的規則)
HTTP的部分輸入2003DC所使用的IP就好
FTP的部分就另外設定一下連入連出的port
連入是指用戶要經由2008MS轉址到2003DC的FTP站台時,所需要指定的port,
這兩個都可以隨自己喜好設1025~65535之間的數值,
只要連出port和你在2003DC的IIS中設定的一樣就好。
都設定好之後就用XP來試試看連不連得上囉!
注意這邊不能使用電腦名稱來連接2003DC,
因為在.8這個網段中已經找不到這台電腦,
而且它所位在的.100網段是私人的內部網路,
我們必須透過2008MS轉址才能連線到2003DC
所以要輸入的是2008MS的IP位址(電腦名稱也可以,DNS會幫我們連過去的~)
大功告成囉!!
2011年7月22日 星期五
網路連接形式
上課所提到的連接形式不管是實體機器或虛擬機器其實只有三種:
- NAT(Network Address Translation)
- ICS(簡易的NAT功能)
- 虛擬機器的NAT功能
- Bridge橋接
- NAT:網址轉譯,伺服器至少需要兩張網卡,一張連接外部網路,另一張(或更多)連接內部網路。外部網卡使用Public IP,內部網卡使用Private IP(包含ABC級網段各一組)。但在上圖中可以看出在整個拓樸我們不只一次使用NAT,也就是說NAT(及ICS)可以一層包一層使用。圖中2008MS即用NAT功能建構一個私人區域網路供192.168.100/24網段使用。
- ICS:簡單的NAT功能,一般用戶端電腦也可以使用。但一張外部網卡同時只能對應一張內部網卡,並且僅能使用C級網段的Private IP。圖中所有Host網卡均利用ICS功能對Host-Only網卡做網址轉譯。
- 虛擬機器的NAT功能:VM軟體如Virtual Box或VMWare Workstation皆內建NAT以供VM更方便的使用網路,但其原理同NAT一樣,所以圖上並未列出。
- Bridge:直接透過Host網卡做連線,需要分配與Host同網段的IP位址。圖中VC103-1即連接一部電腦透過Bridge的方式作網路連結。