・raspberry Pi Model 3B 最新版OS 2020-02-05-raspbian-buster-full
  で イーサネットコンバータ を作ってみました。


raspicon

今回のイーサネットコンバータ概要
①raspberry Pi Model 3B
②最新版OS 2020-02-05-raspbian-buster-full.img
③内蔵WiFiをwlan0とする。
④wlan0で、上位WiFiを受け、有線eth0に中継する。
⑤eth0のIPアドレスは、192.168.4.1
⑥DHCPの範囲は、192.168.4.100,192.168.4.200,255.255.255.0,24h
⑦Dnsmesq version 2.80 (dnsmesq -v)
⑧dhcpcd 8.1.2 (dhcpcd --version)

1.ソフトウェアのインストール

 sshしたら、必要なソフトウェアをインストールします。
 以下の順でコマンドを実行。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install dnsmasq

2.dnsmasqとインストールが終わったら、
 これらのサービスを確認し、起動していたら終了させます。

$ service dhcpcd status
$ service dnsmasq status

$ sudo systemctl stop dnsmasq

3.dhcpの設定

 次に設定ファイルを編集していきます。
 まずはdhcpの設定。

$ sudo nano /etc/dhcpcd.conf

「^w」「^v」で最後の行まで飛び、以下を追加します。

denyinterfaces eth0

 eth0をdhcpの対象から除外します。

「^o」で保存し、「^x」で終了します。

 ではdhcpを再起動させます。

$ sudo service dhcpcd restart


4.dnsmasqの設定

 次はdnsmasqの設定です。
 オリジナルの設定ファイルは、コピーしてバックアップを取っておきます。

$ sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.org
$ sudo nano /etc/dnsmasq.conf

「^w」「^v」で最後の行まで飛び、次の3行を追加します。

server=8.8.8.8
interface=eth0
dhcp-range=192.168.4.100,192.168.4.200,255.255.255.0,24h

dhcp-rangeの設定は、dhcpの時に設定したアドレスと照らし合わせて記入してください。

 同じく「^o」で保存し、「^x」で終了します。

 ここまで来たら、dnsmasqを起動します。

$ sudo systemctl start dnsmasq


起動したことを確認してみます。

$ service dhcpcd status
$ service dnsmasq status

*緑色で active (running) と表示されていればOKです。
 違ってたら、設定ファイルを見直してみて下さい。


5.次に、IP転送の設定をします。

$ sudo nano /etc/sysctl.conf

 次の行を探しコメントを外して保存終了します。

#net.ipv4.ip_forward=1

6.IPマスカレードの設定をします。

 下記コマンドを実行してください。

$ sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
$ sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
$ sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

$ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

7.次に、ラズパイが起動後に自動実行するように下記のファイルに追記します。
 *どうしてもeth0に固定IPアドレスを振ることが出来なかったのでここで
  192.168.4.1の固定アドレスを設定しています。
 *他の方法で、設定できた方は、お教えください。

$ sudo nano /etc/rc.local

 一番下にexit 0とあるので、その上に以下の2行を追加します。

sudo ifconfig eth0 192.168.4.1
iptables-restore < /etc/iptables.ipv4.nat

 追加したら保存して終了。

8.これで設定は終わりです。
最後にRaspberryPiを再起動しましょう。

$ sudo reboot

有線LANにケーブルを接続して、インターネットに接続してみましょう。
めでたしめでたし

9.付録 複数の上位WiFiに自動接続させるために
***********************************************************************
WiFi設定ファイル
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="AP-1"
        psk="12345678"
        key_mgmt=WPA-PSK
        priority=6
}
network={
        ssid="AP-2"
        psk="12345678"
        key_mgmt=WPA-PSK
        priority=5
}
network={
        ssid="AP-3"
        psk="12345678"
        key_mgmt=WPA-PSK
        priority=4
}
network={
        ssid="test-ap"
        psk="12345678"
        key_mgmt=WPA-PSK
        priority=3
}