プロバイダがIPv6対応したのでDebianに設定

 article  Comments Off on プロバイダがIPv6対応したのでDebianに設定
Apr 132017
 

プロバイダがIPv6サービス提供を開始したので、フレッツ光とプロバイダにそれぞれ申し込んでみました。

フレッツ光でIPv6オプションを申し込んだ直後はNTT東日本のIPv6アドレスが割り当てられます。

gmtx24@debian:~$ ip -6 addr show dev eth0
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet6 2408:***:****:****:****:****:****:****/64 scope global mngtmpaddr dynamic 
       valid_lft 2591524sec preferred_lft 604324sec
    inet6 2001:c90:****:****:****:****:****:****/64 scope global deprecated mngtmpaddr dynamic 
       valid_lft 2584978sec preferred_lft 0sec
    inet6 fe80::a2b3:ccff:fee9:5cd7/64 scope link 
       valid_lft forever preferred_lft forever
gmtx24@debian:~$ 

次にプロバイダにIPv6オプションを申し込んだ後は、プロバイダ所有のプレフィックスアドレス(伏せてます)に変わりました。

gmtx24@debian:~$ ip -6 addr show dev eth0
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet6 ****:****:****:****:****:****:****:****/64 scope global mngtmpaddr dynamic
       valid_lft 2591508sec preferred_lft 604308sec
    inet6 fe80::a2b3:ccff:fee9:5cd7/64 scope link
       valid_lft forever preferred_lft forever
gmtx24@debian:~$ 

ルーティングも同様に、NTT東日本からプロバイダに変わります。
フレッツ光のIPv6開通後

gmtx24@debian:~$ ip -6 route show
2001:c90:****:****::/64 dev eth0 proto kernel metric 256  expires 2581221sec pref medium
2408:***:****:****::/64 dev eth0 proto kernel metric 256  expires 2591184sec pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
default via fe80::30ff:fe0c:204d dev eth0 proto ra metric 1024  expires 1755sec hoplimit 64 pref medium
gmtx24@debian:~$ 

プロバイダのIPv6開通後

gmtx24@debian:~$ ip -6 route show
****:****:****::/64 dev eth0 proto kernel metric 256  expires 2591575sec pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
default via fe80::30ff:fe0c:204d dev eth0 proto ra metric 1024  expires 1375sec hoplimit 64 pref medium
gmtx24@debian:~$ 

このままだとMACアドレスベースで生成されたIPv6アドレスが設定されますので、IPv6プライバシー拡張を使ってランダム生成のアドレスにしたい場合は、/etc/network/interfacesに以下の設定をおこないます。

iface eth0 inet6 auto
    privext 2

確認はsysctlコマンドでnet.ipv6.conf.eth0.use_tempaddr=2になっているか、もしくはIPv6 test – IPv6/4 connectivity and speed testに接続してSLAAC noになっているかで確認しました。もちろんIPv6アドレスがMACアドレスベースになっていないことでも確認できます。

※参考
IPv6 プライバシー拡張

Debianでiptables設定(IPv4とIPv6)

 article  Comments Off on Debianでiptables設定(IPv4とIPv6)
Apr 122017
 

以前も書きましたがIPv6の設定も入れたので再掲。
DebianFirewall – Debian Wiki

こちらで一番ベーシックなiptables-persistentパッケージを導入して設定します。

# apt-get install iptables-persistent

あとはルールを作成。

IPv4用ルールはこちら。

$ cat /etc/iptables/rules.v4
*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 -j REJECT --reject-with icmp-host-unreachable
-A FORWARD -j REJECT --reject-with icmp-host-unreachable
COMMIT

IPv6用ルールはこちら。IPv4ベースに、ICMPv6プロトコル追加と、REJECT時のICMPメッセージをICMPv6に変更しています。

$ cat /etc/iptables/rules.v6
*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 -p icmpv6 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

あとはサービス有効化して完了。

# systemctl start netfilter-persistent
# systemctl enable netfilter-persistent

Debian S/390 on Hercules

 article  Comments Off on Debian S/390 on Hercules
Jun 182013
 

Debian amd64 (wheezy)にHerculesを入れて動かしてみました。

手順はほぼ以下の記事のとおりになります。
Installing Debian under Hercules

変更点は

  • DASDは3390-9型(約8GB)をroot用に、3390(約900MB)をswap用に割り当て
  • インストーラーはs390x用を使用
  • IPアドレスは169.254.0.1と169.254.0.2を使用

したことぐらいです。ちなみに設定ファイルはこちら。

CPUSERIAL  000069        # CPU serial number
CPUMODEL   9672          # CPU model number
MAINSIZE   512           # Main storage size in megabytes
XPNDSIZE   0             # Expanded storage size in megabytes
CNSLPORT   3270          # TCP port number to which consoles connect
NUMCPU     1             # Number of CPUs
LOADPARM   0120....      # IPL parameter
OSTAILOR   LINUX         # OS tailoring
PANRATE    SLOW          # Panel refresh rate (SLOW, FAST)
ARCHMODE   ESAME         # Architecture mode ESA/390 or ESAME

# .-----------------------Device number
# |       .-----------------Device type
# |       |       .---------File name and parameters
# |       |       |
# V       V       V
#---      ----    --------------------
# console
001F      3270

# terminal
0009      3215

# reader
000C      3505    ./rdr/kernel.debian ./rdr/parmfile.debian ./rdr/initrd.debian autopad eof

# printer
000E      1403    ./prt/print00e.txt crlf

# dasd
0120      3390    ./dasd/LINUX.ROOT
0121      3390    ./dasd/LINUX.SWAP

# network                                 s390        realbox
0A00,0A01 CTCI    -n /dev/net/tun -t 1500 169.254.0.2 169.254.0.1

インストールは前述の手順のとおりですんなりいったのですが、リブートしてもsshできません。
コンソールからログインして確認してみると、ctc0がきちんとupしていないようです。

root@s390:~#
.ifconfig ctc0
ifconfig ctc0
ctc0      Link encap:Serial Line IP
          POINTOPOINT NOARP  MTU:32760  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@s390:~#

試しにifup ctc0をおこなってみると構文エラーがあるようです。

root@s390:~#
.ifup ctc0
ifup ctc0
/etc/network/interfaces:18: option with empty value
ifup: couldn't read interfaces file "/etc/network/interfaces"
root@s390:~#

18行目はdns-searchで、こちらの値が空は許されないようです。

root@s390:~#
.cat /etc/network/interfaces
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ctc0
iface ctc0 inet static
        address 169.254.0.2
        netmask 255.255.255.255
        network 0.0.0.0
        broadcast 255.255.255.255
        pointopoint 169.254.0.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.11.1
        dns-search
root@s390:~#

インストール時にDomain name指定を空にしたのが敗因のようです。
インストールし直すのも面倒なので、interfacesファイルからdns-searchの行を取り除いてしまいます。

root@s390:~#
.mv /etc/network/interfaces{,.orig}
mv /etc/network/interfaces{,.orig}
root@s390:~#
.grep -v dns-search /etc/network/interfaces.orig > /etc/network/interfaces
grep -v dns-search /etc/network/interfaces.orig > /etc/network/interfaces
root@s390:~#

すると無事ifupできるようになりました。

root@s390:~#
.ifup ctc0
ifup ctc0
   615.082310! net ctc0: Connected with remote side
root@s390:~#
.ifconfig ctc0
ifconfig ctc0
ctc0      Link encap:Serial Line IP
          inet addr:169.254.0.2  P-t-P:169.254.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:32760  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@s390:~#

LaunchpadをDebianに入れてみようと思って挫折

 article  Comments Off on LaunchpadをDebianに入れてみようと思って挫折
Jul 262012
 

DebianでLaunchpadを動かせないかと思いパッケージでのインストール方法にトライしてみたのですが、簡単にはいけそうにありません。

以下、Running – Launchpad Developmentのページに出ているrocketfuel-setupスクリプトをbzrで入手し、内容を見ながら手で実行してみていった結果です。

リポジトリ追加します。

# echo "deb http://ppa.launchpad.net/launchpad/ppa/ubuntu precise main" > /etc/apt/sources.list.d/launchpad-dev.list

追加リポジトリのAPT-Pinを設定します。

# cat >> /etc/apt/preferences <
> Package: *
> Pin: release a=precise
> Pin-Priority: 700
> EOF
# 

apt-get updateします。

# apt-get update
Reading package lists... Done
W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2D1FFB6C0A5174AF

gpgキーがないと怒られるので追加します。

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2D1FFB6C0A5174AF
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.kOwZOphvhu --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg --keyserver keyserver.ubuntu.com --recv-keys 2D1FFB6C0A5174AF
gpg: requesting key 0A5174AF from hkp server keyserver.ubuntu.com
gpg: key 0A5174AF: public key "Launchpad PPA for Launchpad Developers" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Apache関係パッケージををインストールします。

# apt-get install apache2 apache2-mpm-worker libapache2-mod-wsgi

Launchpad依存パッケージ群をインストールします。

# apt-get install launchpad-developer-dependencies
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 launchpad-developer-dependencies : Depends: launchpad-dependencies (= 0.117~precise1) but it is not going to be installed
                                    Depends: launchpad-soyuz-dependencies (= 0.117~precise1) but it is not going to be installed
                                    Depends: firefox but it is not installable
                                    Recommends: pyflakes but it is not going to be installed
                                    Recommends: subunit but it is not going to be installed
                                    Recommends: python-boto but it is not going to be installed
                                    Recommends: bzr-lpreview-body but it is not going to be installed
                                    Recommends: postgresql-doc-9.1 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
#

DebianにはFirefoxという名前のパッケージはないのでインストールできません。
Firefoxはロゴの問題でIceweaselの名前で提供されているのです。
だったら最初からUbuntuに入れたほうが楽かなと思い、Debianにパッケージで導入する方法は見送ることにしました。

zabbix-server-mysqlパッケージの起動不具合

 article  Comments Off on zabbix-server-mysqlパッケージの起動不具合
Oct 032009
 

zabbix-server-mysqlパッケージのzabbix-serverがboot時に起動しない。
ログをみるとmysqlに接続できずにエラーとなっている。

Connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

原因はrcスクリプトの起動順序指定。runlevel Sの時点ではmysqlは起動していない。

### BEGIN INIT INFO
# Provides:          zabbix-server
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Start zabbix-server daemon
### END INIT INFO

こちらをmysql前提に変更し(Required-Start/Required-Stop)、起動、停止するrunlevelもmysqlに合わせて解決。

### BEGIN INIT INFO
# Provides:          zabbix-server
# Required-Start:    mysql
# Required-Stop:     mysql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start zabbix-server daemon
### END INIT INFO