pppoe接続のインターフェース名を変更する How to rename pppoe interface name.
フレッツ回線などで、linuxルーターからpppoeセッションを張る場合、インターフェース名がppp0、ppp1などとなり、どのプロバイダへの接続なのか判別しづらく不便に感じることがあります。
ここで、ppp0の部分を任意の名前、例えば接続先のプロバイダ名などにしておけば便利でしょう。Debian Wheezyの場合は次のようにしてやれば、そういうことが可能です。
/etc/network/interfaces
/etc/ppp/peers/irevo
/etc/ppp/ip-up.d/02ifrename
試してみると確かにインターフェース名がirevoになっていることがわかりました。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458646
おそらく、こちらの方がpppdが知っている名前を変えずに済み問題が少いでしょう。
早く、ルーターのOSをDebian jessieにしようと思います。
# ip add show dev ppp0
8: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet x.x.x.x peer x.x.x.x/32 scope global ppp0
valid_lft forever preferred_lft forever
ここで、ppp0の部分を任意の名前、例えば接続先のプロバイダ名などにしておけば便利でしょう。Debian Wheezyの場合は次のようにしてやれば、そういうことが可能です。
/etc/network/interfaces
auto irevo
iface irevo inet ppp
provider irevo
/etc/ppp/peers/irevo
noipdefault
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
connect /bin/true
noauth
persist
mtu 1492
noaccomp
default-asyncmap
linkname "irevo"
plugin rp-pppoe.so eth0.10
user "xxxxx@i-revonet.jp"
/etc/ppp/ip-up.d/02ifrename
#!/bin/bash
ifrename(){
if [ "$LINKNAME" != "" ]; then
ip link set $IFNAME down
ip link set $IFNAME name $LINKNAME
ip link set $LINKNAME up
else
exit
fi
}
if [ "$IFNAME" == "$(/sbin/ip route |grep default | cut -f 3 -d " ")" ]; then
ifrename
/sbin/ip route add default dev $LINKNAME
else
ifrename
fi
試してみると確かにインターフェース名がirevoになっていることがわかりました。
# ip add show dev irevo
5: irevo: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet x.x.x.x peer x.x.x.x/32 scope global irevo
valid_lft forever preferred_lft forever
Debian Jessie以降ではpppdに以下のページの修正が入っていて、上記の/etc/ppp/peers/irevoで「linkname "irevo"」とあるところを「ifname "irevo"」
などに変更することで、インターフェースの名前を任意に設定することができるそうです。https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458646
おそらく、こちらの方がpppdが知っている名前を変えずに済み問題が少いでしょう。
早く、ルーターのOSをDebian jessieにしようと思います。
Comments