(一) 设置开机启动iptables
# sysv-rc-conf --level 2345 iptables on
(二)
iptables的基本命令
1. 列出当前iptables的策略和规则
# iptables -L -n
-n:
用数字形式显示
# iptables -L -v
-v: 打印详细的信息
2. 允许已经建立的连接接收数据
iptables -A
INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3.
开放端口22(SSH的默认端口),您要告诉iptables允许接受到的所有目标端口为22的TCP报文通过
iptables -A INPUT -p tcp
-i eth0 --dport ssh -j ACCEPT
注:ssh代表22,可以在/etc/services中查到的服务都可以这样使用。
4.
添加策略。策略也是一种规则,当所有规则都不匹配时,使用链的“策略”
链:INPUT, PREROUTING, FORWARD, POSTROUTING,
OUTPUT
链策略的默认值是:ACCEPT。
表:filter (默认),nat,mangle。
#iptables -P INPUT
DROP
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD
DROP
----------------------------------------------------
root@patrick:~#
iptables -L -n
Chain INPUT (policy DROP)
target
prot opt
source
destination
ACCEPT icmp --
0.0.0.0/0
0.0.0.0/0
ACCEPT tcp --
0.0.0.0/0
0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt
source
destination
Chain OUTPUT
(policy ACCEPT)
target prot opt
source
destination
ACCEPT tcp --
0.0.0.0/0
0.0.0.0/0 tcp spt:22
----------------------------------------------------
5.
启动包转发功能
将内网的FTP请求转发到外网的一个主机上。
iptables -t nat -A PREROUTING -p tcp -dport
21 -j DNAT --to-dest 10.25.1.7:21
查看:
# iptables -L -t
nat
要实现包转发,还需要编辑内核参数。
# cat
/proc/sys/net/ipv4/ip_forward
0
默认包转发是禁止的。于是需要打开。编辑/etc/sysctl.conf,然后执行sysctl
-p。
(三)保存iptables的规则
step 1) 保存当前iptables的规则到文件中。
# iptables-save >
/etc/iptables.up.rules
step 2)
开机恢复iptables的规则。方法是添加下面这行到文件‘/etc/network/interfaces/’ 的末尾。
pre-up
iptables-restore < /etc/iptables.up.rules
(四)禁用防火墙
iptables
-F
似乎Ubuntu中没有类似service iptables
stop这样的命令来暂停iptables。只能使用这种方法来禁用iptables(防火墙)。
使用前,请保证规则已经备份在文件中。
Ubuntu中iptables的使用,布布扣,bubuko.com
原文:http://www.cnblogs.com/chjbbs/p/3587838.html