iptables作为centos下的默认防火墙,功能强大的不得了.
在一些简单情况下,iptables还可以实现web server(nginx, apache)的一些简单功能.
iptables太强大了,所以我对iptables的配置不是很了解,只记录一些常用的,备份下.

升级核(可选)

1
2
3
4
5
## 可能用到
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-lt
rpm -ql kernel-lt | grep xt_TEE

开启linux路由转发功能

编辑/etc/sysctl.conf文件

1
net.ipv4.ip_forward = 1

使用sysctl -p立即生效

内网端口转发

1
2
## 将80端口转发到4000
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4000

外网端口转发

1
2
3
## 将192.168.6.77:8000 转发到 192.168.1.245:80
iptables -t nat -A PREROUTING -d 192.168.6.77 -p tcp --dport 8000 -j DNAT --to-destination 192.168.1.245:80
iptables -t nat -A POSTROUTING -d 192.168.1.245 -p tcp --dport 80 -j SNAT --to-source 192.168.6.77:8000

开放端口

1
iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

清空所有的配置

1
2
iptables -t nat -F
iptables -F

保存配置

service iptables save

参考文档

  1. http://www.server110.com/linux/201309/1365.html
  2. http://blog.chinaunix.net/uid-22780578-id-3346350.html
  3. http://www.linuxso.com/linuxpeixun/10332.html