VyOS を Rolling Version へとアップデート

VyOS を Rolling Version へとバージョンアップしてみた。
Rolling Verison は、いわゆる開発版、ベータ版とも言えるもので、現行の安定版が Debian squeeze ベースなのに対して jessie がベースになっているため、カーネル含めて色々新しくなっているし、 Debian パッケージを持ってきて機能を追加したい時にも新しいものが使えるというのもありがたいところ。

アップデートすること自体は、それほど難しいことではなく、公式サイトの Wiki に記載されている通りにやれば、既存設定の引継ぎも自動的に行われるので、ISO ファイルのダウンロード時間+αの時間で完了。

ただ、今回は単純に旧バージョンの設定を引き継いだ状態では PPPoE セッションが正しく張られないというのにハマりまして、色々調べてみた結果、PPPoE のセッション自体に固定的に割り当ててた IP アドレスの設定を削除してみたところ、上手く繋がった次第。

旧バージョン時代の設定を比較した(抜粋)のが、以下のもの。

  1. --- /lib/live/mount/persistence/boot/VyOS-1.1.8/live-rw/config/config.boot 2017-12-29 00:30:09.499208506 +0900
  2. +++ /config/config.boot 2017-12-29 03:32:47.239589856 +0900
  3. <<中略>>
  4. @@ -134,17 +134,17 @@
  5. hw-id xx:xx:xx:xx:xx:xx
  6. pppoe 0 {
  7. default-route auto
  8. - local-address 218.219.149.233
  9. mtu 1492
  10. name-server auto
  11. password **********
  12. service-name editnet
  13. user-id ********@218.219.149.232@edit.ne.jp
  14. }
  15. - smp_affinity auto
  16. + smp-affinity auto
  17. speed auto
  18. }
  19. - loopback lo
  20. + loopback lo {
  21. + }
  22. tunnel tun0 {
  23. address 2001:470:23:94::2/64
  24. description "HE.NET IPv6 Tunnel"
  25. <<後略>>

んと、"local-address" の 1 行の有無だもんなぁ。(他にも差分出ているけど、バージョン変わったことで自動的に変更されたところだけど、VyOS 動作自体には影響しない部分。)


Rolling Version にしたかった理由は、前回ちょっと書いたのだけど、 Squid が新しく出来ることが判っていたから。

で、今回あれこれやっている中で、 VyOS の Rolling Version の最新版を試してみたりしていたわけですが、そちらは Squid が 3.4.8 だったりするのもあって「そっちが使えたら…」というのもあったんですが、何故かプロバイダとの PPPoE 接続が出来ないという状況になりまして、利用を断念しました。(何故、接続できなかったのかまでは、追いきれていない…。)

[From VyOSでWebプロキシー - Soukaku's HENA-CHOKO Blog]

実際のところ、 3.4 系もコミュニティーとしてのサポート終わってるですけど、必要なら stretch からパッケージ引っ張ってくればいいし、 Rolling Version ならそれがやりやすくなりますし…。

で、 Rolling Version に変えたところで、最後の 2 行を手動で追加して、Squid を再起動。

  1. root@sweethome:~# diff -u /lib/live/mount/persistence/boot/VyOS-1.1.8/live-rw/etc/squid3/squid.conf /etc/squid3/squid.conf
  2. --- /lib/live/mount/persistence/boot/VyOS-1.1.8/live-rw/etc/squid3/squid.conf 2017-12-17 00:27:38.522066848 +0900
  3. +++ /etc/squid3/squid.conf 2017-12-29 01:26:44.409748680 +0900
  4. @@ -2,7 +2,6 @@
  5. # autogenerated by vyatta-update-webproxy.pl
  6. #

  7. -acl manager proto cache_object
  8. acl localhost src 127.0.0.1/32
  9. acl to_localhost dst 127.0.0.0/8
  10. acl net src all
  11. @@ -10,6 +9,7 @@
  12. acl Safe_ports port 80 # http
  13. acl Safe_ports port 21 # ftp
  14. acl Safe_ports port 443 # https
  15. +acl Safe_ports port 873 # rsync
  16. acl Safe_ports port 70 # gopher
  17. acl Safe_ports port 210 # wais
  18. acl Safe_ports port 1025-65535 # unregistered ports
  19. @@ -36,7 +36,10 @@

  20. cache_store_log none

  21. +tcp_outgoing_address 218.219.149.233
  22. +
  23. http_port 172.16.0.1:3128

  24. forwarded_for off
  25. -
  26. +via off
  27. +workers 2

これで、Squid 自体がマルチプロセスで動作する。

  1. root@sweethome:~# ps axf | grep squid
  2. 21930 pts/0 S+ 0:00 \_ grep squid
  3. 4532 ? Ss 0:00 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
  4. 4534 ? S 0:08 \_ (squid-coord-3) -YC -f /etc/squid3/squid.conf
  5. 4535 ? S 0:22 \_ (squid-2) -YC -f /etc/squid3/squid.conf
  6. 4536 ? S 1:47 \_ (squid-1) -YC -f /etc/squid3/squid.conf

過去に仕事で Proxy サーバを Squid 3.3 で構築した際に負荷試験をやったことがあるんだけど、 workers を指定しない状態だと同時アクセス 2000 セッションぐらいで頭打ちになっていたのが、 workers を指定すると 2000 セッション × workers の指定値 でパフォーマンスが向上していった、というのはありましたね。
その試験結果から、 4C/8T の Xeon E3 積んだサーバを複数台で "workers 16" を指定した Squid を 5 年ぐらい運用してたりしますが、Web アクセス自体が遅いって不満の声はまったく聞こえてきてないです。(クライアント数はピーク時で3万人弱ぐらい、かな?)

まぁ、我が家ではそこまでのパフォーマンスは要求されないので、2 を指定しとけば十分。

Rolling Version にしたことで、もう一つ出来るようになったことがあるんだけど、それは別エントリーで。

トラックバック(1)

ここ最近、仮想通貨がブームというか話題になることが多いのですけど、まぁ自分にとってはあんま関係ないな、と思っていたんですけど、GPU を使わず CPU パ... 続きを読む

コメントする

コメントする前にサインインすることもできます。