write ahead log

ロールフォワード用

CentOS7を使って雑にNATルータを作る

手っ取り早くNATルータが欲しくなった時にNICが複数あるLinuxマシンがあればラッキーだ.

CentOS7でやったことがなかったのでメモっておく.

nmcliをちゃんと使うべきなんだろうけど, 設定ファイルを直接触った.

1. ネットワークの設定

NICそれぞれに対して設定する.

特にNATとか関係なく普通に設定.

内側のネットワークにはGATEWAYを設定しない.

内側(/etc/sysconfig/network-script/ifcfg-eth0)

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=[なんかはいってる]
DEVICE=eth0
ONBOOT=yes
IPADDR=[内側のNATのIP]
PREFIX=24 # [内側ネットワークのマスク]

外側(/etc/sysconfig/network-script/ifcfg-eth1)

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1
UUID=[なんかはいってる]
DEVICE=eth1
ONBOOT=yes
IPADDR=[外側ネットワークのNATのIP]
GATEWAY=[外側のゲートウェイのIP]
PREFIX=24  # [外側ネットワークのマスク]

2. ネットワークエラーにzoneを設定

firewalldにはzoneという概念があるそうで, デフォルトでうまく機能していたので今回はそれを使った.

内側(/etc/sysconfig/network-script/ifcfg-eth0)

...  # 一番下に追記した
ZONE=trusted

外側(/etc/sysconfig/network-script/ifcfg-eth1)

...  # 一番下に追記した
ZONE=external

3. アダプタを再起動

# ifdown eth0
# ifdown eth1
# ifup eth0
# ifup eth1

4. 一応firewall-cmdで確認

# firewall-cmd --list-all-zones

trustedだとなんでも許すので, 必要に応じてinternal使うんだろうな.