wifi ルーター と 有線Lanのnat とを同時に動かす(by manjarolinux)


俺の部屋には有線 LAN のコードが一本しかきてない

だけども
スマホでインターネットにでたいので wifi ルーターを PC1で動かそう

さらに
もう一台パソコンPC 2がある
PC2もインターネットに出そう

そういった役割を PC 1にさせよう

図示すると以下

以下にて
PC 1を WiFi ルーターにして
かつ
PC 2をインターネットに持って行くことが
できております

つまりこういうことで
PC2はインターネットにでれます
スマホもインターネットにでれます
PC1からwi-fiプリンターに印刷できます

なお有線はクロスケーブル接続です

ちょっと一休み

韓流時代劇が楽しめる豆知識

ここからが本番です

crontab -l
@reboot /home/fujitsu/nat.bat ;  /home/fujitsu/create-wifi.bat


なお Netアダプターは
# ifconfig 
enp0s29u1u5: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.17.1  netmask 255.255.255.0  broadcast 192.168.17.255


enp16s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.207  netmask 255.255.255.0  broadcast 192.168.1.255


wlp0s29u1u4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.12.1  netmask 255.255.255.0  broadcast 192.168.12.255



# ./comment-out.bat nat.bat
sleep 3
ifconfig enp0s29u1u5 192.168.17.1/24
sleep 3
systemctl restart ipset
systemctl restart dnsmasq
mac=`ifconfig | grep UP | sed -n 2p | cut -d : -f 1`
echo '------------'
echo '------------'
echo $mac
echo '------------'
echo '------------'
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --flush
    ipset destroy
    ipset create ruwa hash:net
    ipset flush ruwa
    iptables -A INPUT -m set --match-set ruwa src -j DROP
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $mac -j MASQUERADE
iptables-save
iptables -L
echo
echo
echo '--------------'
    ipset list
echo '--------------'
echo
echo

##なお ipsetについては
https://qiita.com/tyokai/items/06a6a44dc3fcfa0e503a
みてください


[root@Fujitu fujitsu]# ./comment-out.bat create-wifi.bat 
create_ap wlp0s29u1u4 enp16s0 nanjaro 1111





種明かしは次になろう

ps ax | grep dnsmasq

root 99729 0.0 0.0 7320 2516 pts/0 S+ 19:30 0:00 | _ grep --color=auto dnsmasq
dnsmasq 447 0.0 0.0 17268 5132 ? Ss 15:03 0:00 /usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file
nobody 602 0.0 0.0 13368 436 ? S 15:03 0:00 dnsmasq -C /tmp/create_ap.wlp0s29u1u4.conf.QKuk6Okz/dnsmasq.conf -x /tmp/create_ap.wlp0s29u1u4.conf.QKuk6Okz/dnsmasq.pid -l /tmp/create_ap.wlp0s29u1u4.conf.QKuk6Okz/dnsmasq.leases -p 5353

つまり dnsmasqが2つ動いてます

有線LANのnatは
 ./comment-out.bat /etc/dnsmasq.conf
interface=enp0s29u1u5
bind-interfaces
dhcp-range=192.168.17.10,192.168.17.12,12h


wifiルーターは
# ./comment-out.bat /tmp/create_ap.wlp0s29u1u4.conf.QKuk6Okz/dnsmasq.conf
listen-address=192.168.12.1
bind-dynamic
dhcp-range=192.168.12.1,192.168.12.254,255.255.255.0,24h
dhcp-option-force=option:router,192.168.12.1
dhcp-option-force=option:dns-server,192.168.12.1
dhcp-option-force=option:mtu,1500
no-hosts



時刻合わせ問題

systemctl disable ntpd.service
systemctl stop ntpd.service
systemctl start systemd-timesyncd.service
systemctl enable systemd-timesyncd.service