NetPlan

でeth0固定IP設定

/etc/netplan/99_config.yaml 

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      addresses: [192.168.100.201/24]
      gateway4: 192.168.100.1
      nameservers:
        addresses: [192.168.100.1, 8.8.8.8, 8.8.4.4]

 

dnsmasq ( 簡易 DHCP サーバ ) をインストール

Ubuntu 20 では Systemd-resolved サービスをローカルアプリケーションのリゾルバとして利用しているのでインストール前に停止。

$ sudo systemctl disable --now systemd-resolved

デフォルトの resolv.conf を削除し、名前解決できるようにしてからインストールする。 

$ sudo vi /etc/resolv.conf

nameserver 8.8.8.8 

$ sudo apt install dnsmasq
$ sudo vi /etc/dnsmasq.conf

interface=wlan0 dhcp-range=172.24.1.100,172.24.1.200,12h

 

hostapd ( APとして動作 ) をインストール

$ sudo apt install hostapd

設定ファイルを /etc/default/hostapd に指定する。

$ sudo vi /etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

$ sudo vi /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=「任意のSSID」
country_code=JP
hw_mode=g
ieee80211d=1
channel=6
auth_algs=1
ignore_broadcast_ssid=0
disassoc_low_ack=1
ieee80211n=1
ht_capab=[HT40] [SHORT-GI-20] [DSSS_CCK-40]
require_ht=0
wpa=2
wpa_passphrase=「任意のパスワード」
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

IP転送

$ sudo vi /etc/sysctl.conf

net.ipv4.ip_forward=1 コメントを外す

マスカレード

$ sudo apt install iptables-persistent
$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

 

$ sudo systemctl enable systemd-networkd

 

$ sudo vi /etc/systemd/network/wlan0-static.network

[Match]
Name=wlan0

[Network]
Address=192.168.55.1/24

 

$ sudo systemctl start systemd-networkd
$ networkctl -a


IDX LINK  TYPE     OPERATIONAL SETUP
  1 lo    loopback carrier     unmanaged
  2 eth0  ether    routable    unmanaged
  3 wlan0 wlan     no-carrier  configuring

 

$ sudo vi /etc/hostapd/hostapd.conf
interface=wlan0
hw_mode=g
country_code=JP
channel=1
auth_algs=1             # 1=wpa, 2=wep, 3=both
wpa=2                   # WPA2 only
wpa_key_mgmt=WPA-PSK  
rsn_pairwise=CCMP
ssid=「SSID」
wpa_passphrase=「Passphrase」
ignore_broadcast_ssid=0 # 1-->SSID stealth
$ sudo vi /etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

 

$ sudo systemctl unmask hostapd
$ sudo systemctl enable hostapd

 

$ sudo apt-get install isc-dhcp-server
$ sudo vi /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;
authoritative;

subnet 192.168.12.0 netmask 255.255.255.0 {
  range 192.168.12.10 192.168.12.100;
  option subnet-mask 255.255.255.0;
  option routers 192.168.12.1;
}
$ sudo vi /etc/default/isc-dhcp-server

INTERFACESv4="wlan0"

$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl start isc-dhcp-server

 

NATの設定

$ sudo vi /etc/sysctl.conf

net.ipv4.ip_forward=1

再起動が必要

$ sudo iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.55.0/24 -j ACCEPT
$ sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$ sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.55.0/24 -j MASQUERADE
$ sudo apt install ifupdown

 

$ sudo vi /etc/network/interfaces

auto wlan0
 iface wlan0 inet static
     netmask 255.255.255.0
     broadcast 192.168.55.255
     address 192.168.55.1

$ sudo systemctl enable isc-dhcp-server.service
$ sudo apt install iptables-persistent
$ sudo /etc/init.d/netfilter-persistent save

 

Comments