IP固定してもらうための口実が必要になった。
ついでになんとかしたかったセキュリティもやった。
資材
イーサネットを4ポート持ったサーバー
諦めない心
事前準備
いちいち画面用意するのはだるいからSSHする。公開するからもちろん公開鍵で。
それとufwを入れておく。もちろんセキュリティのため。
構成
ポート1--ONU
ポート2--Buffalo(非公開)
ポート3--Cisco(公開)
ポート4--なし
導入
基本的にここを参考にすればなんとかなるけど肝心なとこで詰んだ。
ククログ-株式会社クリアコード
詰みポイント1
IP固定して再起動した時、
s@s-HP-Z210-Workstation:$ sudo systemctl restart networking
Job for networking.service failed
エラーコード読んでるとデバイスの起動で何かが起こっているみたい。
再起動しても何も変化がない。
この記事がとっても役に立ちました。
http://nemupm.hatenablog.com/entry/2014/09/20/035935
これによるとIPが競合しているらしいので、
s@s-HP-Z210-Workstation:$ip addr flush dev ens1f1
こうするとうまくいった。
詰みポイント2
DNSの設定を元記事はBIND9でやってたけど脆弱性があるっぽいのでdnsmasq使う。
これによってコードを一部変更する。
auto ens1f1
iface ens1f1 inet static
address 192.168.20.1
netmask 255.255.255.0
pre-up /sbin/sysctl net.ipv4.conf.all.forwarding=1
pre-up /sbin/iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -j MASQUERADE
pre-up /etc/init.d/isc-dhcp-server stop
pre-up /etc/init.d/dnsmasq stop
##ここと
post-up /etc/init.d/isc-dhcp-server start
post-up /etc/init.d/dnsmasq start
##ここを変更
post-down /sbin/iptables -t nat -D POSTROUTING -s 192.168.20.0/24 -j MASQUERADE
post-down /sbin/sysctl net.ipv4.conf.all.forwarding=0
こうすればちゃんとDNSが動いてくれる。
詰みポイント3
Ubuntu直下のゾーンで名前解決がうまくいかない。
ちゃんとBuffaloのDHCPでDNSサーバーを配布したし、Buffaloにも指定してある。
しかもCiscoからもうまくできないし、PCに直接DNSのIP入れてもうまくいかない。
でもUbuntuからの名前解決はできる。
解決法としてufwのポートを全部開ければうまくいった。
どのポート使って通信してるかわからないからブラックリスト方式で弾いた方が良さそう。