如何在 Amazon EC2 VPC NAT Ami 上保留 iptables 配置?

d0x*_*d0x 12 nat iptables amazon-ec2 amazon-vpc

我有一个像这样的小脚本来配置 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
Run Code Online (Sandbox Code Playgroud)

问题是,如何/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/

小智 19

service iptables save
Run Code Online (Sandbox Code Playgroud)

或者

/etc/init.d/iptables save
Run Code Online (Sandbox Code Playgroud)


daw*_*wud 7

Debian(和衍生产品)使用这个iptables-persistent包来完成这个任务。

/etc/iptables/rules.4和/或中定义您的规则/etc/iptables/rules.6并激活服务(使用update-rc.dchkconfig或您选择的工具。

在 RHEL 和衍生产品上,启动脚本/etc/init.d/iptables读取/etc/sysconfig/iptables,因此您需要在那里定义规则,并确保iptables服务已激活 ( chkconfig iptables on) 并已启动 ( service iptables start)。