LoginSignup
2
2

WSL2 で pppoe サーバを立ててみようとした。

Last updated at Posted at 2020-10-16

環境

WSL で Fedora を使う を参照して入れた wsl2 上の Fedra に pppoe サーバを入れて、pppoe 設定の練習環境を作る。
概要.png
ちょっと修正
スライド1.PNG

バージョンなど
Microsoft Windows [Version 10.0.19042.572]
Fedora Remix 32 on WSL2 (Fedora 32)
CISCO 1921 CISCO1921/K9 c1900-universalk9-mz.SPA.156-3.M.bin (ipbase & security)
Configuration register is 0x3962 だったので config-register 0x2102 を実施。

# uname -a
Linux HINAKO 4.19.84-microsoft-standard #1 SMP Wed Nov 13 11:44:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/os-release
...
ID_LIKE=fedora
VERSION_ID=32
...
# /mnt/c/Windows/System32/wsl.exe -l -v
  NAME           STATE           VERSION
* fedoraremix    Running         2
  Debian         Stopped         2
# /mnt/c/Windows/System32/cmd.exe
'\\wsl$\fedoraremix\root'
上記の現在のディレクトリで CMD.EXE を開始しました。
UNC パスはサポートされません。Windows ディレクトリを既定で使用します。
Microsoft Windows [Version 10.0.19042.572]
(c) 2020 Microsoft Corporation. All rights reserved.
C:\Windows>

Windows の繋がっている自宅内のネットワーク 192.168.0.0/24
Cisco 1921 (クライアント) のローカル側のネットワーク 172.16.0.1/24
とする。pppoe の両端は IP アドレスを振らない (unnumberd) とする。

pppoe サーバーのインストール

dnf search pppoe で探すと rp-pppoe というのがあるようなのでそれを入れる。

[root@HINAKO ~]# dnf install -y rp-pppoe

pppoe サーバの設定をする

/etc/ppp/pppoe-server-options
# PPP options for the PPPoE server
# LIC: GPL

# pap は平文でユーザ名、パスワードを流すので chap を使う
# require-pap
refuse-pap
require-chap
# refuse-chap

# chap-interval 5
# chap-max-challenge 10
# login
lcp-echo-interval 60
lcp-echo-failure 2

# FLET's 回線だと MRU, MTU が 1454 なので偽装する
# PPPoE標準は 1492
mru 1454
mtu 1454

## パケット圧縮 (8~15)
# deflate 15,15
# bsdcomp 15,15
## TCP/IP ヘッダ圧縮 (2~16)
# vj-max-slots 16
## Predictor-1 で送出フレームを圧縮する
# predictor1

# 圧縮しない
# 圧縮しない
nopcomp
nodeflate
nobsdcomp
novj
novjccomp
nopredictor1

# ipcp クライアントが、local や remote の IP を指定してきた場合、それを受け入れる
ipcp-accept-local
ipcp-accept-remote
# ipcp ネゴシエーションした後、相手のアドレスを defaultroute に追加しない
nodefaultroute

# クライアントに渡す dns のアドレス
ms-dns 1.1.1.1
ms-dns 8.8.4.4

usepeerdns
# クライアントが明示的に IP アドレスを指定していない場合、IPCP で IP アドレスを渡す
noipdefault

proxyarp

# IPXCP, IPX プロトコルは通さない
noipx

debug

chap のパスワードファイルを作成

テスト用のユーザとパスワードを設定。IP アドレスは * にして pppoe-server に自動生成してもらう。

/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
user01@test.home	*	pass1	*
user02@test.home	*	pass2	*
user03@test.home	*	pass3	*
user04@test.home	*	pass4	*

CISCO ルータ側の Config を作る (クライアント)

ちょいちょい省略しながら

running-config
hostname HomeRT
interface GigabitEthernet0/0
 no ip address
 pppoe enable group global
 pppoe-client dial-pool-number 1
!
interface GigabitEthernet0/1
 description Home LAN
 ip address 172.16.0.1 255.255.255.0
 ip tcp adjust-mss 1414
!
interface Dialer1
 ip address negotiated
 ip mtu 1454
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 ppp authentication chap callin
 ppp chap hostname user01@test.home
 ppp chap password 0 pass1
!
ip route 0.0.0.0 0.0.0.0 Dialer1 permanent
!
dialer-list 1 protocol ip permit
!
...snip
end

Windows のインターフェイスと Fedora の eth0 を繋ぐ

Windows 10 のスタートメニューを右クリックし「ネットワーク接続(W)」を開く
image.png

「アダプターのオプションを変更する」を選択
image.png

インターネットに出られる Windows のインターフェイス「イーサネット 3」と、WSL のインターフェイス 「vErhernet (WEL)」 を選択しブリッジ接続する。
image.png

「ネットワークブリッジ」インターフェイスができるので、これをダブルクリックして IP アドレスを振る。
※何故か DHCP で IP を取得することができないので、手動で割り当てが必要。
image.png

設定が完了すると、最初に「イーサネット 3」の状態欄に表示されていた「COOKING_F」が「ネットワークブリッジ」に表示される。
image.png

Fedora に DHCP でアドレスを貰う

この状態では、WSL 内の Fedora からインターネットに繋ぐことができなくなるので DHCP で IP アドレスを振ってやる。

ifcfg ファイルを編集

Fedora のインターフェイスを dhcp でアドレスを貰うために /etc/sysconfig/network-scripts/ifcfg-eth0 のファイルを書き換えて dhclient を実行する。

書き替えるファイルの内容 [9.2. インターフェース設定ファイル] (https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces) 等を参照。

/etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
DEVICE="eth0"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
ONBOOT="yes"
USERCTL="yes"

ダブルクウォートは要らないのですが、色が変わるので付けてみました。

アドレスを取得

上記内容にファイルを書き換えてから DHCP でアドレスを取得する

[root@HINAKO ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@HINAKO ~]# ip -4 a show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 172.22.169.198/20 brd 172.22.175.255 scope global eth0
       valid_lft forever preferred_lft forever
[root@HINAKO ~]# dhclient eth0
[root@HINAKO ~]# ip -4 a show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 172.22.169.198/20 brd 172.22.175.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 192.168.0.28/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 86458sec preferred_lft 86458sec
[root@HINAKO ~]#                            

eth0 に inet 192.168.0.28/24 が割り当てられた。

pppoe-server を起動 (サーバ側)

[root@HINAKO ~]# pppoe-server -I eth0:1 -S 'Fedora"

CISCO の状態を確認 (クライアント側)

HomeRT#show pppoe session
     1 client session

Uniq ID  PPPoE  RemMAC          Port                    VT  VA         State
           SID  LocMAC                                      VA-st      Type
    N/A      1  0015.5de5.bc3c  Gi0/0                   Di1 N/A        SHUTDOWN
                002c.c8a8.95a0
HomeRT#show log
...snip...
*Oct 17 06:11:51.079: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
*Oct 17 06:11:51.083: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Oct 17 06:11:51.083: %DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
*Oct 17 06:11:51.087: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down
*Oct 17 06:12:13.351: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
*Oct 17 06:12:13.355: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Oct 17 06:12:13.355: %DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
*Oct 17 06:12:13.359: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down
*Oct 17 06:12:35.659: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
*Oct 17 06:12:35.663: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Oct 17 06:12:35.663: %DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
*Oct 17 06:12:35.667: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down
*Oct 17 06:12:57.931: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
*Oct 17 06:12:57.935: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Oct 17 06:12:57.935: %DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
*Oct 17 06:12:57.939: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down

mac アドレスが表示されているのに SHUTDOWN 表示で、ログには up/down 表示が出続けている。繋がっていない雰囲気。

Fedora の状況を確認 (サーバ側)

[root@HINAKO ~]# ps ax | grep pppoe
  612 ?        S      0:00 pppoe-server -I eth0:1 -S Fedora
  708 pts/2    S+     0:00 grep pppoe

プロセスは落ちてないけども、syslogd がなく /var/log にはログが出力されておらず dmesg にも記録なし。何が起こっているか分からないので syslog を取れるようにする。

Fedora に syslog を設定する

dnf search syslog とすると使えるのは rsyslogsyslog-ng の二つ。syslogd が一番 簡単で良いんだけどなぁ。と思いながらも、どれを選んでも機能に問題ないだろうし、適当に syslog-ng にしてみる。

Fedora へ syslog-ng をインストール

[root@HINAKO log]# dnf install syslog-ng

設定ファイルを編集

ppp のログを /var/log/ppp/ppp.log に吐くことにする。
filter f_default は、ppp, pppoe のログを吐かないように修正し、下の 3行を追加。

/etc/syslog-ng/syslog-ng.conf
filter f_default    { not (program("pppd") or program("pppoe-server")) and \
                        level(info..emerg) and \
                        not (facility(mail) or facility(authpriv) or facility(cron)); };

destination d_ppp { file("/var/log/ppp/ppp.log"); };
filter f_ppp   { (program("pppd") or program("pppoe-server")) and level(debug..emerg) };
log { source(s_sys); filter(f_ppp); destination(d_ppp); };

syslog-ng を起動

syslog-ng -s で設定ファイルに間違いがないことを確認して syslog-ng を起動。 (WSL2 では systemctl は使えない模様)

[root@HINAKO log]# syslog-ng -s
[root@HINAKO log]# syslog-ng

再び Fedora の状況を確認 (サーバ側)

[root@HINAKO log]# cat /var/log/ppp/ppp.log
...
Oct 17 06:22:11 HINAKO pppoe-server[932]: Session 61 created for client 00:2c:c8:a8:95:a0 (10.67.15.61) on eth0:1 using Service-Name ''
Oct 17 06:22:11 HINAKO pppd[932]: Warning: couldn't open ppp database /var/run/ppp/pppd2.tdb
Oct 17 06:22:11 HINAKO pppd[932]: pppd 2.4.7 started by root, uid 0
Oct 17 06:22:11 HINAKO pppd[934]: Fatal signal 11
Oct 17 06:22:11 HINAKO pppd[934]: Exit.
Oct 17 06:22:11 HINAKO pppd[932]: Couldn't get channel number: Input/output error
Oct 17 06:22:11 HINAKO pppd[932]: Script /usr/sbin/pppoe -n -I eth0:1 -e 61:00:2c:c8:a8:95:a0 -S '' finished (pid 934), status = 0x7f
Oct 17 06:22:11 HINAKO pppd[932]: Exit.
Oct 17 06:22:11 HINAKO pppoe-server[612]: Session 61 closed for client 00:2c:c8:a8:95:a0 (10.67.15.61) on eth0:1
Oct 17 06:22:11 HINAKO pppoe-server[612]: Sent PADT
Oct 17 06:22:11 HINAKO pppoe-server[612]: PADT for session 61 received from 00:2C:C8:A8:95:A0; should be from 00:00:00:00:00:00
Oct 17 06:22:33 HINAKO pppoe-server[936]: Session 62 created for client 00:2c:c8:a8:95:a0 (10.67.15.62) on eth0:1 using Service-Name ''
Oct 17 06:22:33 HINAKO pppd[936]: Warning: couldn't open ppp database /var/run/ppp/pppd2.tdb
Oct 17 06:22:33 HINAKO pppd[936]: pppd 2.4.7 started by root, uid 0
Oct 17 06:22:33 HINAKO pppd[938]: Fatal signal 11
Oct 17 06:22:33 HINAKO pppd[938]: Exit.
Oct 17 06:22:33 HINAKO pppd[936]: Couldn't get channel number: Input/output error
Oct 17 06:22:33 HINAKO pppd[936]: Script /usr/sbin/pppoe -n -I eth0:1 -e 62:00:2c:c8:a8:95:a0 -S '' finished (pid 938), status = 0x7f
Oct 17 06:22:33 HINAKO pppd[936]: Exit.
Oct 17 06:22:33 HINAKO pppoe-server[612]: Session 62 closed for client 00:2c:c8:a8:95:a0 (10.67.15.62) on eth0:1
Oct 17 06:22:33 HINAKO pppoe-server[612]: Sent PADT
Oct 17 06:22:33 HINAKO pppoe-server[612]: PADT for session 62 received from 00:2C:C8:A8:95:A0; should be from 00:00:00:00:00:00

pppd が Signal 11 で落ちてますねぇ。SEGV ですかぁ。もう枯れてる技術だと思ったんですが、そうでもないんでしょうか。

pppd を自前でビルドする

Signal 11 というと、その昔 gcc4 の頃に最適化が腐ってて -O2 でコンパイルすると Signal 11 が頻発することがありました。そんな過去の記憶から、最適化を外してコンパイルしてみます。

SRPM をダウンロード

ソースファイルはどこにあるのかな?と思いましたが。よく考えると dnf は rpm ですから SRPM を拾ってきたらいいのか!と気づき実行。iij さんの ftp サーバをうろうろしてたら見つけました。これですね。ダウンロード!

[root@HINAKO ~]# curl -O http://ftp.iij.ad.jp/pub/linux/Fedora/fedora/linux/updates/31/Everything/SRPMS/Packages/p/ppp-2.4.7-35.fc31.src.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:11 --:--:--     0
curl: (6) Could not resolve host: ftp.iij.ad.jp
[root@HINAKO ~]# ip route show                                                                      2020-10-18 5:21:21
default via 192.168.0.254 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.30
[root@HINAKO ~]# ping 192.168.0.254                                                                 2020-10-18 5:22:04
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
From 192.168.0.30 icmp_seq=1 Destination Host Unreachable
From 192.168.0.30 icmp_seq=2 Destination Host Unreachable
From 192.168.0.30 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.0.254 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4190ms
pipe 4

おや?どうやら Windows で組んだブリッジがおかしくなったようです。まぁ、今は関係ないので、Wi-Fi で繋いで Windows からダウンロード、コピーします。(ここで Wi-Fi をブリッジも繋げるとネットに繋がらなくなります。デバイスマネージャで「ハードウェア更新のスキャン」とかするとデバイスマネージャの応答が無くなります。えぇ、Windows のブリッジはバグってます。使えません。)

[root@HINAKO ~]# mv ~jp_yen/winhome/Downloads/ppp-2.4.7-35.fc31.src.rpm .
[root@HINAKO ~]# ls -l ppp-2.4.7-35.fc31.src.rpm
-rwxr--r-- 1 jp_yen jp_yen 789162 Oct 18 05:26 ppp-2.4.7-35.fc31.src.rpm

取得完了。

ビルド!...の前に

よしコンパイルしてやるぞ!

[root@HINAKO ~]# rpmbuild --rebuild ppp-2.4.7-35.fc31.src.rpm
Installing ppp-2.4.7-35.fc31.src.rpm
setting SOURCE_DATE_EPOCH=1586217600
error: Failed build dependencies:
        glib2-devel is needed by ppp-2.4.7-35.fc32.x86_64
        libpcap-devel is needed by ppp-2.4.7-35.fc32.x86_64
        systemd-devel is needed by ppp-2.4.7-35.fc32.x86_64
[root@HINAKO ~]# dnf install glib2-devel libpcap-devel systemd-devel

と思ったら、色々足りませんと言ってきやがります。まとめてインストールしてやんよ...あ、Fedora からネットに繋がらなくなってた。再起動するか。
気を取り直して、再起動後ブリッジを設定、dhcp でアドレスを取得。からの dnf で必要なヘッダなどをインストール。

[root@HINAKO ~]# dnf install glib2-devel libpcap-devel systemd-devel                                2020-10-18 7:47:39
Last metadata expiration check: 0:02:01 ago on Sun 18 Oct 2020 07:46:13 AM JST.
Dependencies resolved.
========================================================================================================================
 Package                          Architecture           Version                          Repository               Size
========================================================================================================================
Installing:
 glib2-devel                      x86_64                 2.64.6-1.fc32                    updates                 460 k
 libpcap-devel                    x86_64                 14:1.9.1-3.fc32                  fedora                  136 k
 systemd-devel                    x86_64                 245.8-2.fc32                     updates                 362 k
Installing dependencies:
 libblkid-devel                   x86_64                 2.35.2-1.fc32                    updates                  16 k
 libffi-devel                     x86_64                 3.1-24.fc32                      fedora                   24 k
 libmount-devel                   x86_64                 2.35.2-1.fc32                    updates                  18 k
 libselinux-devel                 x86_64                 3.0-5.fc32                       updates                 115 k
 libsepol-devel                   x86_64                 3.0-4.fc32                       updates                  40 k
 pcre2-devel                      x86_64                 10.35-7.fc32                     updates                 473 k
 pcre2-utf32                      x86_64                 10.35-7.fc32                     updates                 199 k

Transaction Summary
========================================================================================================================
Install  10 Packages

Total download size: 1.8 M
Installed size: 6.2 M
Is this ok [y/N]: y

なんか、色々入れるか?と聞いてきたので「おーよ」。と答えて SRPM のビルドへ。

改めてビルド!

[root@HINAKO ~]# rpmbuild --rebuild ppp-2.4.7-35.fc31.src.rpm
...
gcc -Wall -O2 -g -pipe -Wall -Werror=format-security ...

あ、-O2 でコンパイルしてる...調べてみると、/etc/rpmrc や ~/.rpmrc でコンパイルオプションが指定できるらしい。

[root@HINAKO ~]# echo optflags: x86_64 -O0 -g > ~/.rpmrc
[root@HINAKO ~]# cat ~/.rpmrc
optflags: x86_64 -O0 -g

SRPM のパッチファイルを見てみると -O となっているものも -O2 となっているものも ${RPM_OPT_FLAGS} に置換して、まとめて ${RPM_OPT_FLAGS}=-O2 -g とされてる。-O の所はパッチが当たらないようにするだけで治るかも。
今回は上記の変更で ${RPM_OPT_FLAGS}=-O0 -g としておく。

[root@HINAKO ~]# rpmbuild --rebuild ppp-2.4.7-35.fc31.src.rpm
...
gcc -Wall -O0 -g -pipe -Wall -Werror=format-security ...
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ppp-2.4.7-35.fc32.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/network-scripts-ppp-2.4.7-35.fc32.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ppp-devel-2.4.7-35.fc32.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ppp-debuginfo-2.4.7-35.fc32.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ppp-2.4.7-35.fc32.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ppp-debugsource-2.4.7-35.fc32.x86_64.rpm
...

上手くいった。なので、出来た rpm で再インストールする。

自前でビルドした pppd をインストール

[root@HINAKO ~]# ls -l `which pppd`
-rwxr-xr-x 1 root root 402528 Apr  7  2020 /usr/sbin/pppd*
[root@HINAKO ~]# dnf reinstall rpmbuild/RPMS/x86_64/ppp-2.4.7-35.fc32.x86_64.rpm
Last metadata expiration check: 0:48:03 ago on Sun 18 Oct 2020 07:46:13 AM JST.
Dependencies resolved.
========================================================================================================================
 Package               Architecture             Version                            Repository                      Size
========================================================================================================================
Reinstalling:
 ppp                   x86_64                   2.4.7-35.fc32                      @commandline                   357 k

Transaction Summary
========================================================================================================================

Total size: 357 k
Installed size: 1.1 M
Is this ok [y/N]: y
...snip
Reinstalled:
  ppp-2.4.7-35.fc32.x86_64

Complete!
[root@HINAKO ~]# ls -l `which pppd`
-rwxr-xr-x 1 root root 444584 Oct 18 08:28 /usr/sbin/pppd*
[root@HINAKO ~]#

はい、再インストールできました。

再度、接続試験

では、Fedora で pppoe を立ち上げて Cisco1921 から接続してもらいましょう。

Fedora
[root@HINAKO ~]# pppoe-server -I eth0:1 -S 'Fedora'

Cisco の電源を入れてインターフェイスを up します。

Cisco1921
HomeRT#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
HomeRT(config)#int gi0/0
HomeRT(config-if)#no shut
HomeRT(config-if)#end
HomeRT#
*Oct 18 08:53:16.819: %SYS-5-CONFIG_I: Configured from console by console
*Oct 18 08:53:17.667: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to down
*Oct 18 08:53:22.231: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Oct 18 08:53:23.231: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
*Oct 18 08:53:47.083: %DIALER-6-BIND: Interface Vi2 bound to profile Di1
*Oct 18 08:53:47.087: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Oct 18 08:53:47.135: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to up
...
HomeRT#show pppoe session
     1 client session

Uniq ID  PPPoE  RemMAC          Port                    VT  VA         State
           SID  LocMAC                                      VA-st      Type
    N/A      1  0015.5dd1.4250  Gi0/0                   Di1 Vi2        UP
                002c.c8a8.95a0                              UP
HomeRT#sho ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Embedded-Service-Engine0/0 unassigned      YES unset  administratively down down
GigabitEthernet0/0         unassigned      YES unset  up                    up
GigabitEthernet0/1         172.16.0.1      YES NVRAM  administratively down down
Dialer1                    10.67.15.1      YES IPCP   up                    up
Virtual-Access1            unassigned      YES unset  up                    up
Virtual-Access2            unassigned      YES unset  up                    up
HomeRT#show ip route
...snip
Gateway of last resort is 0.0.0.0 to network 0.0.0.0

S*    0.0.0.0/0 is directly connected, Dialer1
      10.0.0.0/32 is subnetted, 2 subnets
C        10.0.0.1 is directly connected, Dialer1
C        10.67.15.1 is directly connected, Dialer1
HomeRT#ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

上がりました!pppoe セッションが見えて、Dialer1 のインターフェイスに IP アドレスが割りあてられ...(略)
NAT してないし、Fedora からの帰りのルートを設定していないのでネットワークとしてはまだですが、繋がりました。

pppd & pppoe-server の log
Oct 18 08:43:40 HINAKO pppoe-server[4917]: Session 1 created for client 00:2c:c8:a8:95:a0 (10.67.15.1) on eth0:1 using Service-Name ''
Oct 18 08:43:40 HINAKO pppd[4917]: pppd 2.4.7 started by root, uid 0
Oct 18 08:43:40 HINAKO pppd[4917]: using channel 1
Oct 18 08:43:40 HINAKO pppd[4917]: Using interface ppp0
Oct 18 08:43:40 HINAKO pppd[4917]: Connect: ppp0 <--> /dev/pts/4
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [LCP ConfReq id=0x1 <magic 0x2ccb8a59>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [LCP ConfReq id=0x1 <mru 1492> <auth chap MD5> <magic 0xdcde1729>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [LCP ConfAck id=0x1 <magic 0x2ccb8a59>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [LCP ConfNak id=0x1 <mru 1500>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [LCP ConfReq id=0x2 <auth chap MD5> <magic 0xdcde1729>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [LCP ConfAck id=0x2 <auth chap MD5> <magic 0xdcde1729>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [LCP EchoReq id=0x0 magic=0xdcde1729]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [CHAP Challenge id=0xc4 <223a642dcac5577c49028136db5a3ec5f9>, name = "HINAKO"]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [LCP EchoRep id=0x0 magic=0x2ccb8a59]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [CHAP Response id=0xc4 <63692af6202e36f55d1df69cefa112ff>, name = "user01@test.home"]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [CHAP Success id=0xc4 "Access granted"]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [IPCP ConfReq id=0x1 <addr 10.0.0.1> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [IPCP ConfNak id=0x1 <addr 10.67.15.1>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [proto=0x8207] 01 01 00 04
Oct 18 08:43:40 HINAKO pppd[4917]: Unsupported protocol 'Cisco Discovery Protocol Control' (0x8207) received
Oct 18 08:43:40 HINAKO pppd[4917]: sent [LCP ProtRej id=0x3 82 07 01 01 00 04]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [IPCP ConfReq id=0x2 <addr 10.0.0.1>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [IPCP ConfReq id=0x2 <addr 10.67.15.1>]
Oct 18 08:43:40 HINAKO pppd[4917]: sent [IPCP ConfAck id=0x2 <addr 10.67.15.1>]
Oct 18 08:43:40 HINAKO pppd[4917]: rcvd [IPCP ConfAck id=0x2 <addr 10.0.0.1>]
Oct 18 08:43:40 HINAKO pppd[4917]: Cannot determine ethernet address for proxy ARP
Oct 18 08:43:40 HINAKO pppd[4917]: local  IP address 10.0.0.1
Oct 18 08:43:40 HINAKO pppd[4917]: remote IP address 10.67.15.1
Oct 18 08:43:40 HINAKO pppd[4917]: Script /etc/ppp/ip-up started (pid 4920)
Oct 18 08:43:40 HINAKO pppd[4917]: Script /etc/ppp/ip-up finished (pid 4920), status = 0x0

CISCO の gi0/1 に適当なケーブルを繋いで up させてから Fedora でルートを切ってやる。

Fedora
[root@HINAKO ~]# ip route show
default via 192.168.0.254 dev eth0
10.67.15.1 dev ppp0 proto kernel scope link src 10.0.0.1
172.30.96.0/20 dev eth0 proto kernel scope link src 172.30.111.99
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.26
[root@HINAKO ~]# ip route add 172.16.0.0/24 dev ppp0 proto kernel scope link src 10.0.0.1
[root@HINAKO ~]# ip route show
default via 192.168.0.254 dev eth0
10.67.15.1 dev ppp0 proto kernel scope link src 10.0.0.1
172.16.0.0/24 dev ppp0 proto kernel scope link src 10.0.0.1
172.30.96.0/20 dev eth0 proto kernel scope link src 172.30.111.99
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.26
[root@HINAKO ~]# ping -c 4 172.16.0.1                                                               2020-10-18 9:46:42
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=255 time=1.88 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=255 time=3.12 ms
64 bytes from 172.16.0.1: icmp_seq=3 ttl=255 time=3.09 ms
64 bytes from 172.16.0.1: icmp_seq=4 ttl=255 time=1.90 ms

--- 172.16.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.882/2.497/3.115/0.604 ms
[root@HINAKO ~]# tracepath 172.16.0.1                                                               2020-10-18 9:46:52
 1?: [LOCALHOST]                      pmtu 1454
 1:  10.67.15.1                                           25.069ms reached
 1:  10.67.15.1                                            1.907ms reached
     Resume: pmtu 1454 hops 1 back 1

ちゃんと届きますね。
Fedora の方でルーティングを切るスクリプトを書いておきます。

/etc/ppp/ip-up.local
#!/bin/bash
PPP_IF="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"

# 接続先の IP とその先のネットワークを組みで書いておく
IPREMOTE_1=10.0.10.1
IPREMOTE_NET_1=192.168.0.0/24
IPREMOTE_2=10.0.10.3
IPREMOTE_NET_2=192.168.1.0/24
# 接続先が一つで、ネットワークが複数の場合は、複数書けばいい。
IPREMOTE_3=10.0.10.5
IPREMOTE_NET_3=192.168.2.0/24
IPREMOTE_4=10.0.10.5
IPREMOTE_NET_4=192.168.3.0/24

# IP forwaard ON
echo 1 > /proc/sys/net/ipv4/ip_forward

# 無条件で追加するルーティング (接続先が一つならこれで良い)
/usr/sbin/ip route add 172.16.0.0/24 dev ${PPP_IF} proto kernel scope link src ${PPP_LOCAL}

count=1
while :
do

        if [ $(eval echo '${'IPREMOTE_${count}'}') = "$PPP_REMOTE" ]; then

                # /usr/sbin/ip route add 172.16.0.0/24 dev ${PPP_IF} proto kernel scope link src ${PPP_LOCAL}
                printf "/usr/sbin/ip route add %s dev ${PPP_IF} proto kernel scope link src ${PPP_LOCAL}\n" `eval echo '$'IPREMOTE_NET_${count}`
        fi

        let count++
        [ $(eval echo '${'IPREMOTE_${count}:-NULL'}') = "NULL" ] && break
done

exit 0

対地が複数ある場合、chap-secrets でユーザ (地点) 毎にアドレスを決めておき、PPP_REMOTE で判断して、必要な route を足すことで上手くいくと思います。

再起動したらまた Signal 11

pppd & pppoe-server の log
Oct 18 10:41:13 HINAKO pppoe-server[415]: Session 17 created for client 00:2c:c8:a8:95:a0 (10.67.15.17) on eth0:1 using Service-Name ''
Oct 18 10:41:13 HINAKO pppd[415]: Warning: couldn't open ppp database /var/run/ppp/pppd2.tdb
Oct 18 10:41:13 HINAKO pppd[415]: pppd 2.4.7 started by root, uid 0
Oct 18 10:41:13 HINAKO pppd[417]: Fatal signal 11
Oct 18 10:41:13 HINAKO pppd[417]: Exit.
Oct 18 10:41:13 HINAKO pppd[415]: Couldn't get channel number: Input/output error
Oct 18 10:41:13 HINAKO pppd[415]: Script /usr/sbin/pppoe -n -I eth0:1 -e 17:00:2c:c8:a8:95:a0 -S '' finished (pid 417), status = 0x7f
Oct 18 10:41:13 HINAKO pppd[415]: Exit.
Oct 18 10:41:13 HINAKO pppoe-server[320]: Session 17 closed for client 00:2c:c8:a8:95:a0 (10.67.15.17) on eth0:1
Oct 18 10:41:13 HINAKO pppoe-server[320]: Sent PADT
Oct 18 10:41:13 HINAKO pppoe-server[320]: PADT for session 17 received from 00:2C:C8:A8:95:A0; should be from 00:00:00:00:00:00
Oct 18 10:41:35 HINAKO pppoe-server[418]: Session 18 created for client 00:2c:c8:a8:95:a0 (10.67.15.18) on eth0:1 using Service-Name ''
Oct 18 10:41:35 HINAKO pppd[418]: Warning: couldn't open ppp database /var/run/ppp/pppd2.tdb
Oct 18 10:41:35 HINAKO pppd[418]: pppd 2.4.7 started by root, uid 0
Oct 18 10:41:35 HINAKO pppd[420]: Fatal signal 11
Oct 18 10:41:35 HINAKO pppd[420]: Exit.
Oct 18 10:41:35 HINAKO pppd[418]: Couldn't get channel number: Input/output error
Oct 18 10:41:35 HINAKO pppd[418]: Script /usr/sbin/pppoe -n -I eth0:1 -e 18:00:2c:c8:a8:95:a0 -S '' finished (pid 420), status = 0x7f
Oct 18 10:41:35 HINAKO pppd[418]: Exit.
Oct 18 10:41:35 HINAKO pppoe-server[320]: Session 18 closed for client 00:2c:c8:a8:95:a0 (10.67.15.18) on eth0:1
Oct 18 10:41:35 HINAKO pppoe-server[320]: Sent PADT
Oct 18 10:41:35 HINAKO pppoe-server[320]: PADT for session 18 received from 00:2C:C8:A8:95:A0; should be from 00:00:00:00:00:00

また繋がらなくなりました。

[root@HINAKO ~]# ls -l `which pppd`
-rwxr-xr-x 1 root root 444584 Oct 18 08:28 /usr/sbin/pppd*

pppd のバイナリも変わっている雰囲気はない。

strace してみた

pppd を strace するスクリプトに置き換えてログを取る。

[root@HINAKO sbin]# cp /usr/sbin/pppd /usr/sbin/pppd.orig
[root@HINAKO sbin]# cat <<___QWERTY > /usr/sbin/pppd
#!/bin/sh
logger -p local2.err strace-pppd go
/usr/bin/strace /usr/sbin/pppd.orig "$@" >& /tmp/strace.log
___QWERTY

出力されたログ

/tmp/strace.log
....
rt_sigaction(SIGHUP, {sa_handler=0x559cf5b2b3e5, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x559cf5b2b446, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x559cf5b2b446, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x559cf5b2b4a6, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0x559cf5b2b4d9, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {sa_handler=0x559cf5b2b524, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGFPE, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGILL, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGBUS, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGIO, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGPROF, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGSYS, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd99a547a70}, {sa_handler=0x559cf5b2b55a, sa_mask=[HUP INT USR2 TERM CHLD], sa_flags=SA_RESTORER, sa_restorer=0x7fd99a547a70}, 8) = 0
getpid()                                = 3771
openat(AT_FDCWD, "/dev/ptmx", O_RDWR|O_CLOEXEC) = 6
ioctl(6, TIOCGPTN, [4])                 = 0
chmod("/dev/pts/4", 0600)               = 0
ioctl(6, TIOCSPTLCK, [0])               = 0
openat(AT_FDCWD, "/dev/pts/4", O_RDWR|O_NOCTTY|O_CLOEXEC) = 7
ioctl(7, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(7, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(7, TIOCMBIS, [TIOCM_DTR])         = -1 EINVAL (Invalid argument)
ioctl(7, TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(7, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
dup(3)                                  = 8
close(8)                                = 0
pipe([8, 9])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd99a47d510) = 3772
close(9Fatal signal 11
)                                = 0
read(8, "", 1)                          = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3772, si_uid=0, si_status=127, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 0
...

うーん?プロセスもフォークしてるから良く分からない。
しかしまぁ、もう一度 dnf reinstall rpmbuild/RPMS/x86_64/ppp-2.4.7-35.fc32.x86_64.rpm したら動くのよねぇ。難しい。

glibc を自前ビルドして入れなおしてみた

失敗
[root@HINAKO ~]# dnf provides libnss_files.so.2
Last metadata expiration check: 4:21:31 ago on Sun Oct 18 18:58:28 2020.
glibc-2.31-2.fc32.i686 : The GNU libc libraries
Repo        : fedora
Matched from:
Provide    : libnss_files.so.2

glibc-2.31-4.fc32.i686 : The GNU libc libraries
Repo        : @System
Matched from:
Provide    : libnss_files.so.2

glibc-2.31-4.fc32.i686 : The GNU libc libraries
Repo        : updates
Matched from:
Provide    : libnss_files.so.2
[root@HINAKO ~]# curl -O ftp://ftp.iij.ad.jp/pub/linux/Fedora/fedora/linux/updates/32/Everything/SRPMS/Packages/g/glibc-2.31-4.fc32.src.rpm
[root@HINAKO ~]# rpmbuild --rebuild glibc-2.31-4.fc32.src.rpm
Installing glibc-2.31-4.fc32.src.rpm
setting SOURCE_DATE_EPOCH=1594771200
error: Failed build dependencies:
        audit-libs-devel >= 1.1.3 is needed by glibc-2.31-4.fc32.x86_64
        bison >= 2.7 is needed by glibc-2.31-4.fc32.x86_64
        gd-devel is needed by glibc-2.31-4.fc32.x86_64
        glibc-static is needed by glibc-2.31-4.fc32.x86_64
        libpng-devel is needed by glibc-2.31-4.fc32.x86_64
        libstdc++-static is needed by glibc-2.31-4.fc32.x86_64
        python3-devel is needed by glibc-2.31-4.fc32.x86_64
        python3dist(langtable) is needed by glibc-2.31-4.fc32.x86_64
        texinfo >= 5.0 is needed by glibc-2.31-4.fc32.x86_64
        valgrind is needed by glibc-2.31-4.fc32.x86_64
[root@HINAKO ~]# dnf install audit-libs-devel bison gd-devel  glibc-static libpng-devel libstdc++-static python3-devel 'python3dist(langtable)' texinfo valgrind
...
[root@HINAKO ~]# rpmbuild --rebuild glibc-2.31-4.fc32.src.rpm
...
[root@HINAKO ~]# dnf reinstall rpmbuild/RPMS/x86_64/{glibc-2.31-4.fc32.x86_64.rpm,glibc-common-2.31-4.fc32.x86_64.rpm,glibc-headers-2.31-4.fc32.x86_64.rpm,glibc-devel-2.31-4.fc32.x86_64.rpm,glibc-static-2.31-4.fc32.x86_64.rpm,glibc-langpack-ja-2.31-4.fc32.x86_64.rpm}
Last metadata expiration check: 0:06:06 ago on Mon 19 Oct 2020 02:13:04 AM JST.
Dependencies resolved.
========================================================================================================================
 Package                          Architecture          Version                       Repository                   Size
========================================================================================================================
Reinstalling:
 glibc                            x86_64                2.31-4.fc32                   @commandline                3.3 M
 glibc-common                     x86_64                2.31-4.fc32                   @commandline                1.7 M
 glibc-devel                      x86_64                2.31-4.fc32                   @commandline                1.0 M
 glibc-headers                    x86_64                2.31-4.fc32                   @commandline                457 k
 glibc-langpack-ja                x86_64                2.31-4.fc32                   @commandline                407 k
 glibc-static                     x86_64                2.31-4.fc32                   @commandline                1.5 M

Transaction Summary
========================================================================================================================

Total size: 8.3 M
Installed size: 36 M
Is this ok [y/N]:y

→ Signal 11 失敗

libcap-ng のビルド

[root@HINAKO ~]# rpmbuild --rebuild libcap-ng-0.7.11-1.fc32.src.rpm
Installing libcap-ng-0.7.11-1.fc32.src.rpm
setting SOURCE_DATE_EPOCH=1598140800
error: Failed build dependencies:
        swig is needed by libcap-ng-0.7.11-1.fc32.x86_64
[root@HINAKO ~]# dnf list --installed libcap-ng
Installed Packages
libcap-ng.x86_64                                         0.7.11-1.fc32

ん?良く分からん。

失敗

今後

→ LDFLAGS に -static を指定してスタティックライブラリにしてみる。
→ 駄目なら ldd pppd して、関連するライブラリを自前ビルド

諦めて、起動する度に dnf reinstall するか...

※メモ
WSL の中から Windows の表のインターフェイスの IPv4 アドレスを知るコマンド

% /mnt/c/Windows/System32/netsh.exe interface ipv4 dump | sed -ne 's/.*ethernet.*address=\([^ ]*\).*/\1/p'

syslog-ng の vim syntax ファイル
https://github.com/oxo42/vimrc/blob/master/syntax/syslog-ng.vim

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2