渡辺研究室admin用構築・運営メモ # ゲスト用DHCPネットワークのPCルーター構築方法 ## 1.PC用意 PCを用意してUbuntu18.04 LTSを入れる ## 2.グローバルに接続 PCをグローバルに接続するため、`/etc/netplan/50-cloud-init.yaml`を編集する。 - ゲートウェイアドレス : 133.1.17.126 - ネームサーバー : 133.1.138.166 でネットワークの設定をする。 設定後の`/etc/netplan/50-cloud-init.yaml`は [ここ](#4.固定IPの設定を書く) を参照 ## 2.(必要があれば)USB Etherを足す Ethernetのインタフェースが一つしかないPCをルーターにしたい場合、[USB Ether](https://www.buffalo.jp/product/detail/lua3-u2-atx.html)などを使ってインタフェースを増やす必要がある。 挿しただけではifconfigの結果に反映されないことがあるで、その場合は以下のコマンドを打ってlogical nameを確認 ``` $ sudo lshw -c Network ... *-network DISABLED description: Ethernet interface pysical id: 2 logical name: enx106f3fa674b9 ``` 確認したlogical nameで、以下のコマンドを実行 ``` $ sudo ifconfig enx106f3fa674b9 ``` これで、ifconfigなどを実行するとUSB Etherが認識されていることがわかる。 このインタフェースをローカルに、もう一つの元からあるインタフェースをグローバルに繋げることにする。 ## 3.ルーターを繋げる 先程認識させたUSB Etherをルーターに繋げる。 そしてルーターの設定をする。 今回はゲスト用ネットワークのため、192.168.4.1〜192.168.4.255までのアドレスをDHCPで用意。 ## 4.固定IPの設定を書く 以下は最終版の`/etc/netplan/50-cloud-init.yaml` ``` network: ethernets: enp0s31f6: addresses: - 133.1.17.101/27 dhcp4: false gateway4: 133.1.17.126 nameservers: addresses: [133.1.138.166, 8.8.8.8] optional: true enx106f3fa674b9: addresses: - 192.168.3.1/24 dhcp4: false gateway4: 172.16.104.104 nameservers: addresses: [8.8.8.8] search: [] optional: true version: 2 ``` ルーターに繋がるgateway4はなんでもいい。 `sudo netplan restart`で設定を反映させる。 ## 5.NATの設定をする IPフォワードは以下のように設定 ``` $ sudo su # echo 1 > /proc/sys/ipv4/ip_forward ``` IPマスカレードの設定 ``` $ sudo iptables -t nat -F $ sudo iptables -F $ sudo iptables -L $ sudo iptables -t nat -A POSTROUTING -o enp0s31f6 -j MASQUERADE $ sudo iptables -A FORWARD -i enp0s31f6 -o enx106f3fa674b9 -m state --state RELATED,ESTABLISHED -j ACCEPT $ sudo iptables -A FORWARD -i enx106f3fa674b9 -o enp0s31f6 -j ACCEPT ``` ## 運用メモ ### tcpdump #### 動作 + headerを保存 + 1時間ごとlogファイルを切り替え + gzip化 ``` tcpdump -i enp0s31f6 -W 1 -G 3600 -z gzip -w /path/to/NAS/tcpdump_\%Y\%m\%d_\%H\%M\%S.pcap ``` #### crontabで定期実行 + crontab編集方法 ``` 編集 # crontab -e 再起動 # service cron restart 確認 # service cron status ``` + 毎時0分に実行する場合,以下をcrontabに追記. ``` 0 * * * * tcpdump -i enp0s31f6 -W 1 -G 3600 -z gzip -w /path/to/NAS/tcpdump_\%Y\%m\%d_\%H\%M\%S.pcap ``` + option + -i: interface + -W: 繰り返し回数 + -G: キャプチャ時間[s] + -z: コマンド実行(スクリプトも実行可能) + -w: 保存
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up