ubuntu默认是装上这个防火墙的
/etc/init.d/firewall stop
/etc/init.d/firewall start
iptables -F
清空数据
iptables -t nat -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
下面是一组iptables的安全设置================================================================
#清空数据
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
#禁用所有来源的包
iptables -P INPUT DROP
#打开80端口
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
#打开DNS
iptables -A INPUT -p udp --sport 53 -j ACCEPT
#打开ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#如果eth1上有一个内部ip地址,设置允许转发
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT
#阻塞这些端口
iptables -A OUTPUT -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
iptables -A FORWARD -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
#还可以阻塞试图假冒你所在 LAN 的专用 IP 地址混入的连接。例如:如果你的 LAN 使用 192.168.1.0/24 范围,面向互联网的网络设备(如 eth0)上就可以设置一条规则来放弃到那个设备的使用你所在 LAN 的 IP 范围的分组。因为默认策略是拒绝转发分组,所有到面向外界的设备(eth0)的假冒 IP 地址都会被自动拒绝。
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
#规则的保存,命令行中进行的,将它们保存为脚本
iptables-save > iptables-script
#所有规则都被保存在文件iptables-script中,恢复命令
iptables-restore iptables-script
PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。
POSTROUTING链在包就要离开防火墙之前改变其源地址此表仅用于NAT,也就是转换包的源或目标地址。
Iptables的命令选项
iptables [-t tables] command option parameter target
-A 在链尾添加一条规则
-C 将规则添加到用户定义链之前对其进行检查
-D 从链中删除一条规则
-E 重命名用户定义的链,不改变链本身
-F 清空链,删除链上的所有规则
-I 在链中插入一条规则
-L 列出某个链上的规则,如iptables –L INPUT 列出INPUT链的规则
-N 创建一个新链
-P 定义某个链的默认策略
-R 替换链上的某条规则
-X 删除某个用户相关的链
-Z 将所有表的所有
/etc/init.d/firewall stop
/etc/init.d/firewall start
iptables -F
清空数据
iptables -t nat -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
下面是一组iptables的安全设置================================================================
#清空数据
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
#禁用所有来源的包
iptables -P INPUT DROP
#打开80端口
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
#打开DNS
iptables -A INPUT -p udp --sport 53 -j ACCEPT
#打开ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#如果eth1上有一个内部ip地址,设置允许转发
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT
#阻塞这些端口
iptables -A OUTPUT -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
iptables -A FORWARD -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
#还可以阻塞试图假冒你所在 LAN 的专用 IP 地址混入的连接。例如:如果你的 LAN 使用 192.168.1.0/24 范围,面向互联网的网络设备(如 eth0)上就可以设置一条规则来放弃到那个设备的使用你所在 LAN 的 IP 范围的分组。因为默认策略是拒绝转发分组,所有到面向外界的设备(eth0)的假冒 IP 地址都会被自动拒绝。
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
#规则的保存,命令行中进行的,将它们保存为脚本
iptables-save > iptables-script
#所有规则都被保存在文件iptables-script中,恢复命令
iptables-restore iptables-script
PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。
POSTROUTING链在包就要离开防火墙之前改变其源地址此表仅用于NAT,也就是转换包的源或目标地址。
Iptables的命令选项
iptables [-t tables] command option parameter target
-A 在链尾添加一条规则
-C 将规则添加到用户定义链之前对其进行检查
-D 从链中删除一条规则
-E 重命名用户定义的链,不改变链本身
-F 清空链,删除链上的所有规则
-I 在链中插入一条规则
-L 列出某个链上的规则,如iptables –L INPUT 列出INPUT链的规则
-N 创建一个新链
-P 定义某个链的默认策略
-R 替换链上的某条规则
-X 删除某个用户相关的链
-Z 将所有表的所有