でかいの日記帳

2018/1/2 Tuesday

Linuxブルータ 設定メモ

IPv6ではブリッジとしてIPv4ではルータとして機能するブルータをLinuxで構築する設定メモです。残念ながら現行のLinuxディストリビューションでは複雑な設定を必要とします。

ターゲットマシンは昨年に購入したLiva-Z
OSはCentOS7.4
IPv4ルータの設定については説明省略します。

1. firewalldの停止
CentOS7はfirewalldでフィルタリング管理をしていますが、従来のiptablesの方が慣れている/細かいところまで設定できるのでfirewalldを止めます。

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

2. 必要なモジュールの導入と開始

$ sudo yum install iptables-services iptables-utils ebtables bridge-utils
$ sudo systemctl start iptables
$ sudo systemctl enable iptables
$ sudo systemctl start ip6tables
$ sudo systemctl enable ip6tables
$ sudo systemctl start ebtables
$ sudo systemctl enable ebtables

ip6tablesはIPv6版のiptablesです。
ebtablesはブリッジ用のフィルタ設定で書式はほぼiptablesと同じです。

3. 必要なドライバの導入と開始
ブリッジデバイスでフィルタリング機能を利用(ebtablesの使用)するために必要なデバイスドライバを導入します。
以下の内容の/etc/modules-load.d/br_netfilter.confを作成する

#load br_netfilter.ko at boot
br_netfilter

ドライバの開始を指示する。

$ sudo systemctl restart systemd-modules-load.service

4. カーネルパラメータの設定
以下の行を/etc/sysctl.confに追加する (net.ipv4.ip_forward は IPv4ルーティングのため)。

net.ipv4.ip_forward = 1
net.ipv6.conf.all.accept_redirects = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1

カーネルパラメータを設定する

$ sudo sysctl -p

5. ブリッジネットワークデバイスの登録
前提: イーサネットデバイスは enp1s0 と enp3s0 の2つが存在し、IPv4ルータとして設定済みとする

$ sudo nmcli connection add type bridge ifname br0 stp no

このbridge-br0にenp1s0と同等の設定とIPv6の設定をしてください。

(例)
$ sudo nmcli connection modify bridge-br0 ipv6.method auto

フリッジデバイスが活性化されるとenp1s0デバイスとenp3s0デバイスはネットワークデバイスとして機能しなくなります。
br0のイーサMACアドレスはenp1s0とbr0は同じ番号がアサインされ、br0に対して行った設定は実質enp1s0への設定と同じことになります。
また完全なブリッジとして動作している間はenp3s0デバイにネットワークノードとしての設定をすることはできません。

6. ブルータ設定
ebtablesにより、IPv6パケットはブリッジ処理、その他はルータ処理するよう指定します。
これにより初めてブルータとして機能するようになります。

$ sudo ebtables -t broute -F
$ sudo ebtables -t broute -P BROUTING DROP
$ sudo ebtables -t broute -A BROUTING -p IPv6 -j ACCEPT
$ sudo ebtables -t broute -A BROUTING -d BGA -j ACCEPT
$ sudo /usr/libexec/ebtables save

ebtablesの設定を確認するには以下のコマンドを入力してください。

$ sudo ebtables -t broute -L

7. ブルータ起動
/etc/sysconfig/network-scriptsのifcfg-enp1s0 と ifcfg-enp3s0の2ファイルそれぞれに次の1行を追加します。

BRIDGE=br0

これによりブリッジ接続する設定となります。
次にenp3s0デバイにネットワークノードとしての設定をするため、/etc/init.d/networkスクリプトをハックします。以下の行頭に+がついている行を追加します。

 150      # IPv6 hook (post IPv4 start)
 151      if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
 152          /etc/sysconfig/network-scripts/init.ipv6-global start post
 153      fi
+154      # HACK for IPv4 Router / IPv6 Pass through bridge
+155      if [ -x /etc/sysconfig/network-scripts/init.passthru-brouter ]; then
+156         /etc/sysconfig/network-scripts/init.passthru-brouter start
+157      fi
 158      # Run this again to catch any interface-specific actions
 159      apply_sysctl

これにより、すべてのネットワーク設定をした最後に、/etc/sysconfig/network-scripts/init.passthru-brouterスクリプトが実行されるようになります。ここにenp3s0の設定スクリプトをいれることで設定できるようになります。

最後に、以下のコマンドで今まで設定したネットワークを起動します。

$ sudo systemctl daemon-reload
$ sudo systemctl restart network

brctl showコマンドでブリッジ状態を確認してください。以下のようになっていれば成功です。

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.f44d30add092       no              enp1s0
                                                        enp3s0

カンフー・ヨガ

Filed under: - dekaino @ 6:10 このエントリをはてなブックマークに追加 潟若祉のはてなBookmark被リンク数

カンフー・ヨガを観ました。ジェッキーチェン主演のインド映画風(?)の異色作です。
インド映画風といっても基本はカンフー映画です。あくまでもカンフーアクションが主体でロマンス要素はありません。ただインドで有名な女優が俳優が出演し、中国とインドを舞台に大暴れします。ついでにドバイでもカーアクション。これはスポンサーへのサービスなのか??

基本ストーリーは唐と天竺が外交関係にあった時代の秘宝を考古学者が探しに行くというもの。まんまインディージョーンズです。ジャッキーチェンは、ジャック成(CHAN)教授とほぼ実名で出てきます。パートナーがアーリフリー演ずるジョーンズ、つまり彼がインドに行くことでインドのジョーンズ、駄ジャレの出オチです。

インド美人とジャッキー
インドの考古学者でヨガの達人のアスミタ、その正体はお姫様?!

インド映画風とは言いましたが、例の全キャスト集合して踊りまくるお約束だけは当然のように守られているのでご安心ください。

20 queries. 0.143 seconds. Powered by WordPress ME
For questions or comments, please send mail to: webmaster@dekaino.net