Adachinですっ。
前回はLVSの設定をしましたが、(以下の記事より)
今回はNATとfirewalld(iptables)の設定をします。
つまり、内部から外部に繋がるようにするわけですね。
test03,04(WEB01,02)からtest01(172.19.10.21)にcurlで叩くと表示ができているか
レッツアンドゴー!
■現在の状況
1.WEB01,02からtest01にcurlが届かない
2.CentOS7ならではのfirewalldを起動していない
3.NAT(IPマスカレード)の設定はしていない(LVS)
というわけなので設定しています。
■firewalldの設定(port,NAT)(LVS)
1 |
# systemctl start firewalld |
firewalldを起動してしまうと、この前設定した独自sshのポートなど開放していないため、
sshできなくなります。この設定とNATの設定をしてあげましょう。
・ゾーンの設定(LVS)
1 2 3 4 5 6 7 |
# firewall-cmd --permanent --zone=external --add-interface=eth0 # firewall-cmd --permanent --zone=internal --add-interface=eth1 # firewall-cmd --get-active-zone internal interfaces: eth1 external interfaces: eth0 |
・NAT(IPマスカレード)の設定(LVS)
external(外に対して設定)
1 2 3 |
# firewall-cmd --zone=external --add-masquerade --permanent # firewall-cmd --reload success |
・firewalldポート開放の設定(LVS)
1 2 |
# firewall-cmd --set-default-zone=external externalの設定に変更 |
1 2 3 4 5 6 7 |
# firewall-cmd --zone=external --add-service=http --permanent success # firewall-cmd --zone=external --add-port=10023/tcp --permanent success # firewall-cmd --zone=external --add-port=10024/tcp --permanent success # firewall-cmd --zone=external --add-port=80/tcp --permanent |
–permanentはreloadしても消えないようにします。
80ポートaddしてますが、httpをadd-serviceしてるのでいらなくても大丈夫です。
1 2 |
# firewall-cmd --reload success |
・確認
1 2 3 4 5 6 7 8 9 10 |
# firewall-cmd --list-all external (default, active) interfaces: eth0 sources: services: http ssh ports: 10023/tcp 10024/tcp 80/tcp masquerade: yes forward-ports: icmp-blocks: rich rules: |
ちなみに保存ファイルは以下にあります。
1 2 |
internal > /etc/firewalld/zones/internal.xml external > /etc/firewalld/zones/external.xml |
■WEB01,02からtest01にcurlで叩けるのか確認
1 2 3 |
[@WEB01 ~]$ curl test01 test01 #あらかじめtest01もwebサーバ構築しました |
1 2 3 4 5 |
[@test01 ~]$ curl 172.19.10.63 WEB02 [@test01 ~]$ curl 172.19.10.63 WEB01 #分散されてる |
sshもWEB01,02に接続できたのでこれでOK!!
■まとめ
CentOS7独自のfirewalldの使い方が特殊でなかなか理解できなかったが、
今では完全に慣れた。
次回はVIP(Keepalived/冗長化)の設定をします。
0件のコメント