2015年8月12日水曜日

dhcpd server にする、 grub

internet
|
wifi router
|
wlp0s29f7u1
arch
enp9s0:192.168.11.1
|
dhcp
debian

という構成です。
 

ifconfig enp9s0 192.168.11.1
でまず enp9s0
にアドレスをあてます。









それから dhcpd サーバーを構成します。
 /etc/dnsmasq.conf
server=/11.168.192.in-addr.arpa/8.8.8.8
interface=enp9s0
dhcp-range=192.168.11.50,192.168.11.150,12h




1行めで ネームサーバーを指定してます。






内のを外に出すために morizotを利用します

morizot.bat
SYSCTL="/sbin/sysctl -w"
IPT="/usr/sbin/iptables"
IPTS="/usr/sbin/iptables-save"
IPTR="/usr/sbin/iptables-restore"
INET_IFACE="wlp0s29f7u1"
LOCAL_IFACE="enp9s0"
LOCAL_IP="192.168.11.1"
LOCAL_NET="192.168.11.0/24"
LOCAL_BCAST="192.168.11.255"
LO_IFACE="lo"
LO_IP="127.0.0.1"
if [ "$1" = "save" ]
then
    echo -n "Saving firewall to /etc/sysconfig/iptables ... "
    $IPTS > /etc/sysconfig/iptables
    echo "done"
    exit 0
elif [ "$1" = "restore" ]
then
    echo -n "Restoring firewall from /etc/sysconfig/iptables ... "
    $IPTR < /etc/sysconfig/iptables
    echo "done"
    exit 0
fi
echo "Loading kernel modules ..."
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/ip_forward
else
    $SYSCTL net.ipv4.ip_forward="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
else
    $SYSCTL net.ipv4.tcp_syncookies="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
else
    $SYSCTL net.ipv4.conf.all.rp_filter="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
else
    $SYSCTL net.ipv4.icmp_echo_ignore_broadcasts="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
else
    $SYSCTL net.ipv4.conf.all.accept_source_route="0"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
else
    $SYSCTL net.ipv4.conf.all.secure_redirects="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
else
    $SYSCTL net.ipv4.conf.all.log_martians="1"
fi
echo "Flushing Tables ..."
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
if [ "$1" = "stop" ]
then
    echo "Firewall completely flushed!  Now running with no firewall."
    exit 0
fi
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
echo "Create and populate custom rule chains ..."
$IPT -N bad_packets
$IPT -N bad_tcp_packets
$IPT -N icmp_packets
$IPT -N udp_inbound
$IPT -N udp_outbound
$IPT -N tcp_inbound
$IPT -N tcp_outbound
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j LOG \
    --log-prefix "Illegal source: "
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j DROP
$IPT -A bad_packets -p ALL -m state --state INVALID -j LOG \
    --log-prefix "Invalid packet: "
$IPT -A bad_packets -p ALL -m state --state INVALID -j DROP
$IPT -A bad_packets -p tcp -j bad_tcp_packets
$IPT -A bad_packets -p ALL -j RETURN
$IPT -A bad_tcp_packets -p tcp -i $LOCAL_IFACE -j RETURN
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
    --log-prefix "New not syn: "
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A bad_tcp_packets -p tcp -j RETURN
$IPT -A icmp_packets --fragment -p ICMP -j LOG \
    --log-prefix "ICMP Fragment: "
$IPT -A icmp_packets --fragment -p ICMP -j DROP
$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP
$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPT -A icmp_packets -p ICMP -j RETURN
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --source-port 67 --destination-port 68 \
     -j ACCEPT
$IPT -A udp_inbound -p UDP -j RETURN
$IPT -A udp_outbound -p UDP -s 0/0 -j ACCEPT
$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 22 -j ACCEPT
$IPT -A tcp_inbound -p TCP -j RETURN
$IPT -A tcp_outbound -p TCP -s 0/0 -j ACCEPT
echo "Process INPUT chain ..."
$IPT -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPT -A INPUT -p ALL -j bad_packets
$IPT -A INPUT -p ALL -d 224.0.0.1 -j DROP
$IPT -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT
$IPT -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT
$IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
     -j ACCEPT
$IPT -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound
$IPT -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP
$IPT -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
    --log-prefix "INPUT packet died: "
echo "Process FORWARD chain ..."
$IPT -A FORWARD -p ALL -j bad_packets
$IPT -A FORWARD -p tcp -i $LOCAL_IFACE -j tcp_outbound
$IPT -A FORWARD -p udp -i $LOCAL_IFACE -j udp_outbound
$IPT -A FORWARD -p ALL -i $LOCAL_IFACE -j ACCEPT
$IPT -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
     -j ACCEPT
$IPT -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
    --log-prefix "FORWARD packet died: "
echo "Process OUTPUT chain ..."
$IPT -A OUTPUT -m state -p icmp --state INVALID -j DROP
$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LOCAL_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LOCAL_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPT -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
    --log-prefix "OUTPUT packet died: "
echo "Load rules for nat table ..."
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
echo "Load rules for mangle table ..."





 ./comment-out.bat /etc/grub.d/40_custom
exec tail -n +3 $0
menuentry 'openbsd ' {
    set root='hd0,msdos0'
    chainloader +1
}



menuentry 'Arch Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos2'
    linux    /boot/vmlinuz-linux root=/dev/sdb2 rw  quiet
    initrd    /boot/initramfs-linux.img
}









2015年6月10日水曜日

clamav

https://wiki.archlinux.org/index.php/ClamAV をみて

1) pacman -S clamav

2) freshclam

3)
WARNING: Clamd was NOT notified: Can't connect to clamd through /var/lib/clamav/clamd.sock: No such file or directory
がでたので
 
# touch /var/lib/clamav/clamd.sock
# chown clamav:clamav /var/lib/clamav/clamd.sock
 
4)もう一度 freshclam すると
 ClamAV update process started at Wed Jun 10 01:33:35 2015
main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo)
daily.cvd is up to date (version: 20557, sigs: 1423118, f-level: 63, builder: neo)
bytecode.cvd is up to date (version: 256, sigs: 45, f-level: 63, builder: dgoddard)

5)で
wget -O- http://www.eicar.org/download/eicar.com.txt | clamscan -
したら 
 
 
stdin: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 3841799
Engine version: 0.98.7
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 40.088 sec (0 m 40 s)
なって clamscan の テストはOK。

 
6)# systemctl start clamd
Job for clamd.service failed. See "systemctl status clamd.service" and "journalctl -xe" for details.
といけない。



 
今 /etc/clamav/freshclam.conf は
DatabaseMirror database.clamav.net
NotifyClamd /etc/clamav/clamd.conf
 
また 今 /etc/clamav/clamd.conf は
LogFile /var/log/clamav/clamd.log
LogTime yes
PidFile /run/clamav/clamd.pid
TemporaryDirectory /tmp
LocalSocket /var/lib/clamav/clamd.sock
User clamav
 
 
しかし 再起動して
systemctl start clamd
がうまく動かない。
 


 

で clamd , clamdscan は 今はあきらめて
 
 
 
 
clamscan.bat (clamscanは遅いのですが)
 
 http://www.cloud-memo.com/2014/04/clamscan.html  をみて
 

#!/bin/sh
## Scan
clamscan -ri $1    > /var/log/clamav/scan.log
## Mail Send
cat /var/log/clamav/scan.log | mail -s "Scan Report" root@localhost
exit
 
 
 
 
 
 
 
http://www.kernel-panic.it/openbsd/mail/mail6.html
をみて
 
 
/etc/freshclam.conf
# Comment or remove the line below.
#Example
DatabaseDirectory /var/db/clamav
DatabaseOwner  _clamav
DNSDatabaseInfo  current.cvd.clamav.net
DatabaseMirror  db.it.clamav.net
DatabaseMirror  database.clamav.net
MaxAttempts  3
checks   24

/etc/clamd.conf
# Comment or remove the line below. 
#Example 
DatabaseDirectory  /var/db/clamav 
TCPAddr 127.0.0.1 
TCPSocket 3310 
User _clamav 
LogSyslog yes 
LogFacility LOG_MAIL

 
pacman -S cronie

crontab -eを
16 * * * * /usr/bin/freshclam >/dev/null 2>&1
とする。





2015年3月18日水曜日

エラー key firefox

1)
エラー: key "7A4E76095D8A52E4" could not be looked up remotely
エラー: キーリングに必要なキーがありません
エラー: 処理を完了できませんでした (予期しないエラー)
エラーが発生したため、パッケージは更新されませんでした。


https://archlinuxjp.kusakata.com/wiki/Pacman-key?rdfrom=https%3A%2F%2Fwiki.archlinux.org%2Findex.php%3Ftitle%3DPacman-key_%28%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%29%26redirect%3Dno#5.E3.81.A4.E3.81.AE.E3.83.9E.E3.82.B9.E3.82.BF.E3.83.BC.E3.82.AD.E3.83.BC.E3.82.92.E6.A4.9C.E8.A8.BC.E3.81.99.E3.82.8B

をみて

# pacman-key --init
 
# pacman-key --populate archlinux
 
==> archlinux.gpg からキーを追加...
==> キーリングの信頼されたキーに署名...
  -> キーに署名 0E8B644079F599DFC1DDC3973348882F6AC6A4C2...
  -> キーに署名 684148BB25B49E986A4944C55184252D824B18E8...
  -> キーに署名 44D4A033AC140143927397D47EFD567D4C7EA887...
  -> キーに署名 27FFC4769E19F096D41D9265A04F9397CDFD6BB0...
  -> キーに署名 AB19265E5D7D20687D303246BA1DFB64FFF979E7...
==> 所有者信頼値をインポート...
==> キーリングの破棄されたキーを無効化...
  -> キー F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6 を無効化...
  -> キー 7FA647CD89891DEDC060287BB9113D1ED21E1A55 を無効化...
  -> キー D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50 を無効化...
  -> キー BC1FBE4D2826A0B51E47ED62E2539214C6C11350 を無効化...
  -> キー 4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2 を無効化...
  -> キー 63F395DE2D6398BBE458F281F2DBB4931985A992 を無効化...
  -> キー 0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196 を無効化...
  -> キー 8F76BEEA0289F9E1D3E229C05F946DED983D4366 を無効化...
  -> キー 66BD74A036D522F51DD70A3C7F2A16726521E06D を無効化...
  -> キー 81D7F8241DB38BC759C80FCE3A726C6170E80477 を無効化...
  -> キー E7210A59715F6940CF9A4E36A001876699AD6E84 を無効化...
==> 信用データベースを更新...
gpg: 次回の信用データベース検査は、2016-01-22です

# pacman-key --refresh-keys





 
2)firefox 立ち上がらない 
pacman -Syuしよう。
operaをいれておこう。 
 
 
 
これでも 
 ●●●●●●●●●●●●
 $ firefox 
XPCOMGlueLoad error for file /usr/lib/firefox/libxul.so:
libvpx.so.2: cannot open shared object file: No such file or directory
Couldn't load XPCOM.


のときは


# cd /usr/lib/
# ln -s libvpx.so.1.3.0 libvpx.so.2

 
 



2015年2月24日火曜日

teamviewer と rsync+ssh と ssh -Y  




1) 下の図は 自宅のtahr  から遠隔地のarch にはいりました。
teamviewer は vnc over sshと比べると 早い早い。
ssh -Yは ある特定のアプリしか立ち上がらなく、x-windows全体は無理です。

teamviewer は なんたって
 Easy to use remote desktop sharing / presentation and file transfer application that works  behind routers and firewalls.
の能力があります。
つまり 2つのPCでteamviewerをうごかしておれば ポートがひらいてなくとも 
firewallの向こうでもいいわけです。

(http://okwave.jp/qa/q6426998.htmlでは
TeamViewerがIPアドレスやファイアウォール(FW)を意識しなくて済むのは,
被操作側PCに相手が侵入するのではなく,
被操作側が自主的にインターネットに出て行って,
TeamViewerルーティングサーバ上でIDとパスワードを発行してもらい,
相手がやってくる (セッションの確立)のを同サーバ上で待つからです


 

2)ssh+rsync

sshdは 、インターネットに出て行って相手がやってくる のを待ってたりしません。
だから ファイアウォール越にsshを使うには、
teamviewerではいって そこからあらためてssh+rsync をします。

 rsync -a --delete -e ssh /home/t t@a.mydns.jp:/home/t/k
^CKilled by signal 2.
rsync error: unexplained error (code 255) at rsync.c(632) [sender=3.1.1]
rsync: [sender] write error: Broken pipe (32)

だった。
バカみたいな話だが、 両方のPCにrsyncをいれたら解決。



3)ssh -Y
遠隔地のPCでは aurのteamviewer10 がはいりません。
しかたなく windows用のTeamViewer_Setup_ja.exeをダウンロードして
wine TeamViewer_Setup_ja.exeをしますと、ひきづられてmono と geckoがはいり、teamviewer10のアイコンがでますが、たちあがりません。

遠隔地のarch のteamviewer9は、自宅のarchのteamviewer10には接続できません。

しょうがないので遠隔地では ssh -Y を使います。
つまり、  遠隔地でssh -Y t@a.mydns.jp です。


なお  /etc/ssh/sshd_config ですが

遠隔地のは $ cat /etc/ssh/sshd_config
AuthorizedKeysFile    .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
PrintMotd no # pam does that
UsePrivilegeSeparation sandbox        # Default for new installations.
Subsystem    sftp    /usr/lib/ssh/sftp-server
X11Forwarding yes


自宅のはcat /etc/ssh/sshd_config
Port 22
Protocol 2

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120

#PermitRootLogin yes

StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes



ssh -Y t@a.mydns.jpしたあと、midoriで
遠隔地のPCにmidoriが立ち上がってきます。



 
 
 
 
 
 
 















 





2015年1月7日水曜日

dice

cybergateで 追随するには



diceですが./diced | nkf -uwして日本語が見えるようにして
1番目に setupし
 
 
2番目に addて

[ オフライン ]
(0)No (1)Yes
番号>1

そしてから dicedを実行させるといいです。
詳細はネットで調べて下さい。

2014年12月28日日曜日

Windows8.1のフォルダを mount する。

これはまさに
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a004mountcifs.html
そのもので

cat mount-windows81-common.bat

mount -t cifs //192.168.100.102/common /mnt81  -o username=user1

です。

もちろん windows81で ローカルアカウントuser1をつくってます。





dvdstyler

2014年12月23日火曜日

ssh -X 、起動時実行



p1<----------------------------------------------------p2
ssh server



SSHDサーバP1を
 ./comment-out.bat /etc/ssh/sshd_config

PermitRootLogin no
AuthorizedKeysFile    .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
X11UseLocalhost no
  #こうしないとP2ではなくP1側でchromiunがたちあがる
PrintMotd no # pam does that
UsePrivilegeSeparation sandbox        # Default for new installations.
Subsystem    sftp    /usr/lib/ssh/sftp-server



とします。


それから インターネット越しに P2から
ssh -X  user-1@example.mydns.jp
して P1に入り、

export XMODIFIERS=@im=ibus
ibus-daemon &

そして
chromium
をすると 
p2の上でchromiumが立ち上がります。



起動時実行
cronieをいれて

root で crontab -e 
して

 EXTENSIONS
       These special time specification "nicknames" which replace the  5  ini‐
       tial time and date fields, and are prefixed with the '@' character, are
       supported:

       @reboot    :    Run once after reboot.
       @yearly    :    Run once a year,  ie.  "0 0 1 1 *". 1/1 0:0
       @annually  :    Run once a year,  ie.  "0 0 1 1 *".
       @monthly   :    Run once a month, ie.  "0 0 1 * *".   1 0:0
       @weekly    :    Run once a week,  ie.  "0 0 * * 0".   s 0:0
       @daily     :    Run once a day,   ie.  "0 0 * * *".     0:0
       @hourly    :    Run once an hour, ie.  "0 * * * *".       0
                                                m h d m

              minute         0-59
              hour           0-23
              day of month   1-31
              month          1-12 (or names, see below)
              day of week    0-7 (0 or 7 is Sunday, or use names)



@reboot /home/ttt/nginx.bat
するといいらしい。