Amazon-Ec2

如何在 Amazon EC2 VPC NAT Ami 上持久化 iptables 配置?

  • August 5, 2013

我有一個像這樣的小腳本來配置 iptables:

#!/bin/bash

PRE_STR="iptables -t nat -A PREROUTING -p tcp -j DNAT"
FOR_STR="iptables -A FORWARD -p tcp -j ACCEPT"


#####################################
# instances
CM="10.0.1.137"
MASTER="10.0.1.149"
MYSQL="10.0.1.83"
REPORTING="10.0.1.85"

#####################################
# Clear Iptables
iptables -F
iptables -t nat -F

#####################################
# Forward to enable Internet on private nodes
iptables -t nat -A POSTROUTING -j MASQUERADE


#####################################
# Port forwarding

forward()
{
       $PRE_STR --dport $1 --to $2:$3
       $FOR_STR --dport $3 -d $2
}

#what   from    to ip           to port
forward 3222    $CM             22
forward 7183    $CM             7183
forward 7180    $CM             7180

forward 3122    $MASTER         22
forward 8888    $MASTER         8888
forward 11000   $MASTER         11000

forward 2122    $MYSQL          22
forward 13306   $MYSQL          3306

iptables-save > /etc/firewall.conf

問題是,如何/etc/firwall.conf在下次啟動時使用目前的 iptables 設置載入?

在普通的 Debian 機器上,我會將一個觸發iptables-restore < /etc/firewall.conf它的腳本放入文件夾/etc/network/if-up.d/iptables中。但這在此圖像中不可用。

那麼載入這個的正確原因是什麼/etc/firewall.conf

AMI ID:ami-1de2d969

更新:

iptables-restore < /etc/firewall.conf可以在裡面開火/etc/rc.local嗎?

資料來源:http ://www.cyberciti.biz/faq/how-do-i-save-iptables-rules-or-settings/

Debian(和衍生產品)使用這個iptables-persistent包來完成這個任務。

在服務中定義您的規則/etc/iptables/rules.4和/或/etc/iptables/rules.6啟動服務(使用update-rc.d,chkconfig或您選擇的工具。

在 RHEL 和衍生產品上,啟動腳本/etc/init.d/iptables讀取/etc/sysconfig/iptables,因此您需要在此處定義規則,並確保iptables服務已啟動 ( chkconfig iptables on) 並已啟動 ( service iptables start)。

service iptables save

或者

/etc/init.d/iptables save

引用自:https://serverfault.com/questions/528661