*QNAPのrsyncサーバ [#r6108b43] RIGHT:更新日&lastmod(); Linuxよりフォルダをバックアップ Linixのbk_dctestがQNAPの/share/MD0_DATA/okadaの下にバックアップ 以下のようにRSYNCサーバのユーザ名、パスワードを設定 &ref("./qnap_rsync1.png"); 以下のように設定が変わる ''/etc/rsyncd.conf'' uid = admin gid = administrators pid file = /var/run/rsyncd.pid read only = false hosts allow = * port = 873 rsync user = rsync rsync pswd = ******* SLimitRate = RLimitRate = [Multimedia] path = /share/MD0_DATA/Multimedia (略) [okada] path = /share/MD0_DATA/okada ***Linuxからバックアップ [#fd7d4ef6] /home/okada/himitsu/digicom.passに先のQNAPのrsyncサーバのパスワードを指定 ''digicom.pass'' ***** # chowm root.root digicom.pass # chmod 600 digicom.pass ''実行'' # rsync -avz --password-file=/home/okada/himitsu/digicom.pass bk_dctest rsync://rsync@180.131.110.210:/okada sending incremental file list bk_dctest/ bk_dctest/test1 cronなどで自動の場合は適当なshellスクリプトを作成し、時間内に終了しない場合の処理が必要 ''rsync.sh'' #!/bin/sh if [ -r /var/run/rsync_client_running_okada ]; then exit fi /usr/bin/touch /var/run/rsync_client_running_okada /usr/local/bin/rsync --log-file=/var/log/rsync_client.log --recursive --times --compress --archive --delete \ --password-file=/mnt/data/rsync/rsync.pass "/mnt/data/rsync/sync_test" "rsync://rsync@192.168.32.1/okada" /bin/rm -f /var/run/rsync_client_running_okada **Windowsでrsync(cwRsync) [#u8566909] windowsから使用できるrsyncで以下からDL ただし、何回か再読込みをしないとファイル保存できない。 http://cwrsync.apponic.com/download/ パス指定に注意 c:\usr\ism_sync => /cygdrive/c/usr/ism_sync C:\>rsync -avz --delete --password- file=/cygdrive/c/usr/cwRsync/sync.pass /cygdrive/c/Usr/ism_sync "rsync://rsync@1 92.168.31.7/okada" sending incremental file list sent 67 bytes received 9 bytes 50.67 bytes/sec total size is 0 speedup is 0.00 以下のようなバッチを作成 ''sync.bat'' @echo off c: cd \Usr\cwRsync if not exist tmp.pid ( echo 1 > tmp.pid c:\usr\cwRsync\bin\rsync -avz --delete --password-file=/cygdrive/c/usr\ /cwRsync/sync.pass --log-file=/cygdrive/c/usr/cwRsync/log.txt \ /cygdrive/c/Usr/ism_sync "rsync://rsync@192.168.31.7/okada/sync_okada" del tmp.pid ) if exit c:\test( => c:\testファイルが存在したならば ( )を実行~ ) if not exit c:\test( => c:\testファイルが存在しなければ ( )を実行~ ) このままでは実行時、comanndの窓が開く最小化して実行するにはショートカットで最小化を指定するが、タスクスケジュールではショートカットが登録できない。そこで。以下のようなvbsファイルを作成 ''rsyn.vbs'' Set objWSHShell = CreateObject("WScript.Shell") objWSHShell.Run "cmd.exe /c C:\Usr\cwRsync\rsync.bat", 7 -/c 終了後閉じる -7 最小化 しかし、これだけでは大きなファイルの転送をWindowsから行うとこける。対策はWindowsのMTUを変更する。[[こちら>Windows_Router Memo/Windows7_Tips#mtu]] ''Tips'' Windows起動後NetWorkドライブに接続できない場合は次を参考にする [[Windows起動時のネットワークドライブの接続方法>Windows_Router Memo/Windows7_Tips#win_net_drive]] -------------------------------------- *pptpd [#s0b87b3e] CentOS6で利用できるrpmが見つからなかったのでソースからコンパイル 以下からDL 今回は pptpd-1.3.4.tar.gz http://sourceforge.net/projects/poptop/files/pptpd/ 事前にppp,ppp-develをインストール $ tar zxvf pptpd-1.3.4.tar.gz $ cd pptpd-1.3.4 &color(red){このまま進むと以下のようなエラーが出る}; /usr/sbin/pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.5 そこで、pptpd-logwtmp.soを作成するソースファイルのplugins/patchlevel.hのバージョン情報を書き換え #define VERSION "2.4.3" ↓ #define VERSION "2.4.5" CentOS6のpppのバージョンが2.4.5なため $ ./configure $ make $ su # make install # cp plugins/pptpd-logwtmp.so /usr/lib/pptpd/ ( # ln -s /usr/local/lib/pptpd/pptpd-logwtmp.so /usr/lib/pptpd/pptpd-logwtmp.so /usr/local/lib/にコピーされるので、リンクでいいかも) # cp samples/pptpd.conf /etc/ # cp samples/chap-secrets /etc/ppp/ # cp samples/options.pptpd /etc/ppp/ ''/etc/pptpd.conf'' (略) # TAG: option # Specifies the location of the PPP options file. # By default PPP looks in '/etc/ppp/options' # option /etc/ppp/options.pptpd #debug debug (略) localip 192.168.31.1 remoteip 192.168.31.121-150 eth0側のIPが192.168.31.1になっているので192.168.31.0のネットワークとコミュニケーションがとれる。 ''/etc/ppp/chap-secrets'' # client server secret IP addresses okada pptpd **** 192.168.31.101 ^^^^^(1) okada-p pptpd **** * IPを指定するとそのアドレスがユーザに割り振られる。pptpd.conf内のremoteipで指定された範囲を指定するようなページもあったが、そうするとIPの重複が生じた。~ remoteip範囲外でも割り振れたのでこれでいいかな? ''/etc/ppp/options.pptpd'' # Authentication # Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd ^^^^^ (1)と合わせる (略) Logging # Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) #debug debug # Print out all the option values which have been set. # (often requested by mailing list to verify options) #dump dump ''起動'' -f -d でフォアグランドで確認 # /usr/local/sbin/pptpd -f -d 通常は # /usr/local/sbin/pptpd ***iptableの使用時 [#k57606a5] iptableを使用時は//etc/sysconfig/iptablesにtcpのpptp(1723)とgre(47)プロトコルを許可しておく。ただし、GUIでファイアウォールを変更すると消えるので再度記入する必要あり -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport pptp -j ACCEP -A RH-Firewall-1-INPUT -p gre -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT ***接続時の経路情報の追加 [#xdc8b20c] pptpで接続されたとき新しい経路情報を作成。サーバ側で設定時はサーバ側で、クライアント側で設定時はクライアント側でrouteが追加される。 %%pptpで接続されたとき新しい経路情報を作成。サーバ側で設定時はサーバ側で、クライアント側で設定時はクライアント側でrouteが追加される。%% 以下のファイルはpptpのクライアント側のみなのでサーバは手動で実行の必要ありかも? ''/etc/ppp/ip-up'' route add -net 192.168.10.0 gw 192.168.31.101 netmask 255.255.255.0 metric 1 <==追加 exit 0 接続前 # netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 182.236.42.16 0.0.0.0 255.255.255.240 U 0 0 0 eth0 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 182.236.42.30 0.0.0.0 UG 0 0 0 eth0 接続後 # netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.31.101 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 182.236.42.16 0.0.0.0 255.255.255.240 U 0 0 0 eth0 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.10.0 192.168.31.101 255.255.255.0 UG 0 0 0 ppp0 ^^^^^^^^追加されている(経路情報) 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 182.236.42.30 0.0.0.0 UG 0 0 0 eth0 **Buffalo BHR-4GRV [#c7843a1d] Linuxのpptpdサーバにネットワークとして接続する以下のような構成時WindowsからFreeNASにアクセス可になる(逆は不可)GWが192.168.10.xをNATして投げるようだ。 ------------ --------------- | Windows |192.168.10.x | GW BHR-4GRV | | |------------------| | ------------ --------------- |pptp(192.168.31.101) | |(インターネット) | |pptpd ---------------- | CentOS 6 | | pptpd | ----------------- | LAN (192.168.31.1) | --------------- | | FreeNAS | 192.168.31.7 | | |---------------------- --------------- &ref("./freenas_rsync3.png"); **iptableの例(参考) [#ecf7e44c] ''/etc/sysconfig/iptables'' # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o eth0 -j MASQUERADE COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -i eth0:1 -j ACCEPT -A FORWARD -o eth0 -j ACCEPT -A FORWARD -p tcp -j ACCEPT (pptpで内部LANにtcp許可) -A FORWARD -p icmp -j ACCEPT (pptpで内部LANにicmp許可) -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT &color(red){リモートデスクトップ使用時は3389ポートも通しておくこと};