剥いだ布団とメモランダム.old

情報系のことをかいてゆく

CentOSでのNAT・IPマスカレード設定覚え書き-設定前編

研究室の方でCentOSのPCをホストとして、ネットワークを構築する実習をやったので、覚え書き。
とりあえず今回は下準備的な部分を。

・構成
LANポートを2つ搭載したデスクトップに、片方を外部のネットワークeth0(実際には大学のネットワーク)を、もう片方にクライアントPC eth1をつなげた。

 

・初期状態のiptables
こんな感じ。

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
#-----------------------------------------------------
フィルタテーブルのみしかない。ユーザ定義のチェイン"RH-Firewall-1-INPUT "で入ってくるパケットやフォワードするパケットのコントロールをしているっぽい。ざっくりにはローカルからのパケット、ICMPのパケット、ポート5353(mDNS)、ポート631(IPP)、ポート22(SSH)の通信はACCEPTされている感じ。
 
RH-Firewall-1-INPUT は出るパケットの設定はしてない。
 
このままでは、NATの設定がなされてないので、クライアントは通信できない。
 
現状から、クライアントPCが通信できるようにする設定は
1.ホストのIPv4でのフォワードを有効にする
2.iptablesにNATテーブルを作って、IPマスカレードを設定
3.クライアントのIP割り振り
っていうとこか。セキュリティをいじらないのであれば、これで良さそう。
 
意外といけそうだけど、その前にNATとマスカレードの復習もしないとね…