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