5: 2020-09-20 (日) 02:30:00 iseki |
現: 2020-09-22 (火) 11:15:13 iseki |
- | ** VyOS [#jd2423bb] | + | * VyOS [#jd2423bb] |
| - ソフトウェアルータ用 Linux ディストリビューション | | - ソフトウェアルータ用 Linux ディストリビューション |
| + | - Vyatta のコニュニティー版(フォーク) |
| - ユーザガイド:https://wiki.vyos-users.jp/index.php/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89 | | - ユーザガイド:https://wiki.vyos-users.jp/index.php/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89 |
- | #br | |
| | | |
- | ** Install [#y0507cfb] | + | - [[FRR>FRRouting]] を使っているみたい. |
- | *** [[VMWare]] 上へのインストール [#zbeb5d00] | + | #br |
- | + ISOファイルをダウンロード(Live ISO) | + | |
- | -- https://www.vyos.io/rolling-release/ | + | |
- | -- https://downloads.vyos.io/?dir=rolling/current/amd64 | + | |
- | + VMの作成(VMWare Player) | + | |
- | -- vyos-1.3-rolling の Linuxカーネルが 4.19なので VMWare Player では Debian10を選択 | + | |
- | -- https://ja.wikipedia.org/wiki/Debian%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4 | + | |
- | + VMWare Player 上で Live ISO の ISOイメージを起動.(ID:パスワードは vyos:vyos) | + | |
- | vyos login: vyos | + | |
- | Password: vyos | + | |
- | ........ | + | |
- | vyos@vyos:~%$ configure | + | |
- | [edit] | + | |
- | vyos@vyos# | + | |
- | + configure コマンドを実行する前に install image を実行(install system のオプションもあり) | + | |
- | vyos@vyos:~%$ install image | + | |
- | ........ | + | |
- | Continue (Yes/No) [No]: Y | + | |
- | ..... | + | |
- | vyos@vyos:~%$ reboot | + | |
| | | |
- | - vyos ユーザは sudo でルート権限が取れる! | + | ** Setup [#f3c8ac39] |
| + | - [[Install>./Install]] |
| + | - [[Make Docker Image>./Docker Image]] |
| #br | | #br |
| | | |
- | *** with [[Docker]] [#c8c9b183] | |
- | - https://hub.docker.com/r/2stacks/vyos | |
| | | |
- | + Docker イメージとして 2stacks/vyos を使用. | + | ** 実行 [#w21a8844] |
- | # docker pull 2stacks/vyos | + | |
- | + いくつかのWebサイトで説明のある ユーザ vyos が存在しないので,ユーザを作成してリブート(リブートしないと作成したユーザがシステムに組み込まれない) | + | *** with Docker [#s08ad750] |
| + | **** 普通に起動 [#a0b420a8] |
| # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules vyos_netp:test /sbin/init | | # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules vyos_netp:test /sbin/init |
| # docker exec -it vyos_netp /bin/vbash | | # docker exec -it vyos_netp /bin/vbash |
- | vbash-4.1# adduser vyos (全てデフォルトで答える) | |
- | vbash-4.1# reboot | |
- | + 作成したユーザ(vyos)から configure コマンドが発行できるか確認 | |
- | # docker start vyos | |
- | # docker exec -it vyos /bin/vbash | |
- | vbash-4.1# su - vyos | |
- | vyos@vyos:~$ configure | |
- | [edit] | |
- | vyos@vyos# | |
- | + 修正した Docker のイメージを登録 | |
- | # docker commit vyos vyos_netp:test | |
- | + 修正した Docker のイメージを使用して,確認 | |
- | # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules vyos_netp:test /sbin/init | |
- | # docker exec -it vyos_netp /bin/vbash | |
- | vbash-4.1# su - vyos | |
- | vyos@vyos:~$ configure | |
- | [edit] | |
- | vyos@vyos# | |
- | #br | |
| | | |
- | ** Docker イメージを自分で作ってみる [#w16f99dd] | + | **** docker0 を使用しない [#yfd95c2d] |
- | **** ISOファイルの作成 [#yfc981b6] | + | - --subnet= で使用する IPアドレスの範囲を指定 |
- | - https://docs.vyos.io/en/latest/contributing/build-vyos.html | + | |
- | - VyOS 1.3 は make iso でエラー (2020 0920) | + | |
- | - VyOS 1.2 を使用 | + | |
- | # docker pull vyos/vyos-build:crux | + | |
- | # git clone -b crux --single-branch https://github.com/vyos/vyos-build | + | |
- | # docker build -t vyos/vyos-build:crux docker | + | |
- | # docker images | + | |
- | # cd vyos-build | + | |
- | # docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:crux bash | + | |
- | (コンテナ内) # cd /vyos | + | |
- | (コンテナ内) # ./configure | + | |
- | (コンテナ内) # make iso | + | |
- | (コンテナ内) # ls -l build | + | |
- | (コンテナ内) # exit | + | |
- | | + | |
- | **** ISO ファイルを展開して,Docker Image を作成 [#racb1cd8] | + | |
- | # mkdir rootfs (パーミッション注意) | + | |
- | # mount -o loop build/vyos-999.202009191402-amd64.iso rootfs | + | |
- | # mkdir unsquashfs (パーミッション注意) | + | |
- | # sudo unsquashfs -f -d unsquashfs/ rootfs/live/filesystem.squashfs | + | |
- | # cd unsquashfs | + | |
- | # find etc lib opt usr -type d | xargs chmod a+rx (パーミッション注意) | + | |
- | # cd .. | + | |
- | # tar -C unsquashfs -c . | docker import - vyos_netp | + | |
- | # docker images | + | |
- | | + | |
- | **** 構成の変更 [#mcbdd2d0] | + | |
- | - vyos_netp を起動 | + | |
- | | + | |
- | # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules vyos_netp:latest /sbin/init | + | |
- | # docker exec -it vyos_netp /bin/bash | + | |
- | (コンテナ内) # vi /etc/resolv.conf | + | |
- | (コンテナ内) # vi /etc/source.list | + | |
- | deb http://deb.debian.org/debian jessie main | + | |
- | deb http://security.debian.org jessie/updates main | + | |
- | (コンテナ内) # apt-get update | + | |
- | (コンテナ内) # apt-get install openconnect | + | |
- | (コンテナ内) # exit | + | |
- | # docker commit vyos vyos_netp:test | + | |
- | # docker images | + | |
- | | + | |
- | - reboot(retart)するともとに戻るファイル | + | |
- | -- /etc/resolv.conf | + | |
- | -- /etc/hostname | + | |
- | -- /etc/apt/source.list | + | |
| | | |
| + | # docker network create --driver=bridge --subnet=172.22.240.0/29 netp_bridge |
| + | # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules --net netp_bridge vyos_netp:test /sbin/init |
| + | # docker exec -it vyos_netp /bin/vbash |
| + | (コンテナ内)# ifconfig |
| #br | | #br |
| | | |
- | **** apt-get [#of1d791e] | + | **** Trouble Shooting [#y7707c03] |
- | - Error: cannot get security labeling handle: No such file or directory | + | - Docker内から DNS検索ができない. |
| + | -- ホスト側の Firewall の影響 |
| + | -- ホストのfirewalld を止めてからイメージを実行- |
| + | -- イメージが動いている最中に止めて駄目,=> Dockerを再起動 |
| + | - Docker 内の /etc/resolv.conf は特殊なファイルなので mv できない => set system name-server x.x.x.x は使用できない |
| | | |
- | (コンテナ内) # mount -o remount,ro /sys/fs/selinux | |
| #br | | #br |
| | | |
- | ** 環境 [#cdcebf17] | + | ** コマンド [#u99867de] |
- | | + | *** 操作モード(operational mode) [#q2e5429a] |
- | *** with Docker [#s08ad750] | + | - configure で設定モードへ |
- | **** docker0 を使用しない [#yfd95c2d] | + | |
- | - --subnet= で使用する IPアドレスの範囲を指定 | + | |
- | # docker network create --driver=bridge --subnet=172.22.240.0/29 netp_bridge | + | |
- | # docker run -d --name vyos_netp --privileged -v /lib/modules:/lib/modules --net netp_bridge vyos_netp:test /sbin/init | + | |
- | # docker exec -it vyos_netp /bin/vbash | + | |
- | # ifconfig | + | |
| #br | | #br |
| | | |
- | ** コマンド [#u99867de] | |
- | *** ?? モード [#m235f7b5] | |
| **** インターフェイス [#kfd79837] | | **** インターフェイス [#kfd79837] |
- | - $ show interfaces ethernet | + | - show interfaces |
| #br | | #br |
| | | |
- | *** configure モード [#v2c0add2] | + | *** 設定モード(configuration mode) [#ka5a9b76] |
| + | - run を先頭につけると,操作モードのコマンドや一般コマンドが使える(場合がある) |
| + | #br |
| | | |
| **** インターフェイス の設定 [#m9fd6b8d] | | **** インターフェイス の設定 [#m9fd6b8d] |
- | - # set interfaces ethernet eth0 address 192.168.27.100/24 | + | - set interfaces ethernet eth0 address 192.168.27.100/24 |
- | - # set protocols static route 0.0.0.0/0 next-hop 192.168.27.127 | + | -- 既にOS(System)側で割り振っている場合はエラーになる |
| + | #br |
| + | **** Routing [#y90ba39a] |
| + | - set protocols static route 0.0.0.0/0 next-hop 192.168.27.127 |
| #br | | #br |