12
12

More than 5 years have passed since last update.

CentOS 7.x でのIPマスカレード設定

Last updated at Posted at 2018-10-19

概要

CentOS 7.x でのNAPT(IPマスカレード)設定の備忘録。

対象読者

  • グローバルIPを持たないホストBから、外部へ通信できるホストAを踏み台に疎通を行いたい。
  • 例)Webサーバーとのみ疎通可能なDBサーバーで yum install したい時など。

[ホストB] 例) DBサーバー
   | eth0 192.168.1.101
   |
   | eth0 192.168.1.1
[ホストA] 例) Webサーバー
   | eth1 x.x.x.x
   |
[example.com]

事前の確認

ホストBではping, yum等が失敗するはず。

# ping google.com
  失敗
# yum install mariadb-server
  失敗

ホストAでは下記の様なデフォルト設定のままであることを確認。

# firewall-cmd --get-active-zones
public
  interfaces: eht0 eth1
#  firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable

設定

ホストAでは firewall-cmd での変更のみ。

// eth0 の firewalld zone を external に変更
# firewall-cmd --zone=external --change-interface=eth0
success
// externalゾーン に IPマスカレード設定
# firewall-cmd --zone=external --add-masquerade --permanent
success
// 変更の反映
# firewall-cmd --reload
success

// 変更後の確認
# firewall-cmd --get-active-zones
external
  interfaces: eht0
public
  interfaces: eth1
# firewall-cmd --list-all --permanent --zone=external
external
  ... 略
  masquerade: yes
  ... 略
#  firewall-cmd --direct --get-all-rules
ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
ipv4 filter FORWARD 0 -i tun0 -o eth0 -j ACCEPT
ipv4 filter FORWARD 0 -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable

ホストBでやることはGateway変更のみ。

// GatewayをホストAのeth0に変更。
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
... 略
GATEWAY=192.168.1.1
... 略

// ネットワーク再起動して変更を反映
# systemctl restart network

// 疎通確認して完了
# ping google.com
  成功
# yum install mariadb-server
  成功
12
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12