SCSvcをK8sに――OpenWRTと一緒に #8

前回からの続きです。ここからが苦戦の本番です。

まず、OpenWRTを落としてきて、SDカードを書き込みました。前回と同じ方法です。それで、ModaXTermでコンソールにアクセスできました。

IPアドレスが割り当てらてない

困った困った。一応ISPから配布されたルータのものに入れました。というか、実運用環境も同じようなものなんですよねー。しかもスクショとったと思ったのに、ないなんて…設定ファイルをいろいろ変えて、なんとかうまくいきました。こんな感じの設定ファイルでした。

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd9a:b925:63ab::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'

config interface 'lan'
#       option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'eth0'
        option proto 'dhcp'

config interface 'wan6'
        option device 'eth1'
        option proto 'dhcpv6'


はっきり言って、原因は一切わかりません。いろいろいじってたらなんかうまく行った感じです。

ポートフォワーディングができない

これは致命的です。デフォルトのGUIでできません。一応手順だけ紹介しておきます。

簡単ですね。名前(Name、名前)とプロトコル(Protocol、プロトコル)とWAN側からのトラフィックを指定(Sorce zone、送信元ゾーン)して、WAN側でリスンするポート(External port、外部ポート)、LAN側に送る設定にして(Destnation zone、送信先ゾーン)LAN側のIPアソレスも指定(Internal IP address、内部IPアドレス)、そしてそのIPアドレスのポート(Internal port、内部ポート)を設定するだけです。それで保存、Saveを押すだけです。

しかし、うまくいきません。仕方ないので、/etc/rc.localを編集して、起動時に、IPtablesを変えるようにしました。

# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.

# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
#---------------- Main PC Rdpt ------------------------------------
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.2.2:3389
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.2 --dport 3389 -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.2.2 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.2.2 --sport 3389 -j ACCEPT
#------------------------------------------------------------------
#---------------- Main PC Rdpu ------------------------------------
iptables -t nat -A PREROUTING -p udp --dport 3389 -j DNAT --to-destination 192.168.2.2:3389
iptables -t nat -A POSTROUTING -p udp -d 192.168.2.2 --dport 3389 -j MASQUERADE
iptables -A FORWARD -p udp -d 192.168.2.2 --dport 3389 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.2.2 --sport 3389 -j ACCEPT
#------------------------------------------------------------------
#---------------- Main PC Smbt ------------------------------------
iptables -t nat -A PREROUTING -p tcp --dport 445 -j DNAT --to-destination 192.168.2.2:445
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.2 --dport 445 -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.2.2 --dport 445 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.2.2 --sport 445 -j ACCEPT
#------------------------------------------------------------------
#---------------- Main PC Rdpu ------------------------------------
iptables -t nat -A PREROUTING -p udp --dport 445 -j DNAT --to-destination 192.168.2.2:445
iptables -t nat -A POSTROUTING -p udp -d 192.168.2.2 --dport 445 -j MASQUERADE
iptables -A FORWARD -p udp -d 192.168.2.2 --dport 445 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.2.2 --sport 445 -j ACCEPT
#------------------------------------------------------------------
#---------------- Defauct Svc Http --------------------------------
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.2.3:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.3 --dport 80 -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.2.3 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.2.3 --sport 80 -j ACCEPT
#------------------------------------------------------------------
#---------------- Defauct Svc Https -------------------------------
iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.2.3:443
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.3 --dport 443 -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.2.3 --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.2.3 --sport 443 -j ACCEPT
#------------------------------------------------------------------
#---------------- Defauct Svc MySQL -------------------------------
iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination 192.168.2.3:3306
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.3 --dport 3306 -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.2.3 --dport 3306 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.2.3 --sport 3306 -j ACCEPT
#------------------------------------------------------------------

これで何とかうまくいきました。

HTTP,HTTPSのサイトにアクセスできない

さっきのポートフォワーディングのせいです。HTTP、HTTPSサイトを公開したためだと思われます。多分、ルータの80番にアクセスしちゃうからかと思うんです。内部に80,443番を公開するとダメなんだと思います。

ほかのOSを試してみた

みんな大好きArmbianを試しました。一回はうまくいったんですが、二回目以上はダメでした。Ubuntuも試しました。でも、どれもどれもどれも、ルータに最適化されていない!そう、OpenWRTがいいんです。GUIで管理できる。グラフ表示もいい。絶対OpenWRT絶対OpenWRT。いろいろさがしましたが、良さそうなのがありました。その話はまた次回にしましょうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です