iptables 端口映射 实现步骤如下:
一、环境和要实现功能
PC1的网络设置如下:
eth0 192.168.0.29 内网
eth1 219.239.11.22 外网
PC2的网络设置则为:192.168.0.21 内网
我们要实现的功能就是将PC1的8080端口映射到PC2的80端口,也即访问
http://219.239.11.22:8080
即可访问到PC2上的WEB服务。
二、实现步骤
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
这样允许iptalbes FORWARD。
2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下
Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
相当与service iptables {….}
把iptables 服务停止,清除以前的规则,存盘
到/etc/rc.d/init.d目录下,运行
./iptables stop
iptalbes -F
iptalbes -X
iptalbes -Z
./iptables save
3、 重新配置规则
iptables -t nat -A PREROUTING -d 219.239.11.22 -p tcp -m tcp --dport 8080 -j
DNAT --to-destination 192.168.0.21:80
iptables -t nat -A POSTROUTING -d 192.168.0.21 -p tcp -m tcp --dport 80 -j SNAT
--to-source 192.168.0.29
iptables -A FORWARD -o eth0 -d 192.168.0.21 -p tcp –dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.21 -p tcp –sport 80 -j ACCEPT
DNAT SNAT 的请参考帮助,这里不再陈述。
4、 新的规则存盘
./iptables save
规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉
直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务
./iptables start
在/proc/net/ip_conntrack文件里有包的流向,如下面
tcp 6 53 TIME_WAIT src=../../221.122.59.2 dst=219.239.11.22 sport=7958
dport=8080 packets=9 bytes=1753
src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9
bytes=5777 [ASSURED] use=1
通过文章的介绍,我们都可以清楚的看清iptables 端口映射实现的每个步骤!希望对大家有帮助!
1、vi /etc/sysconfig/iptables2、yy复制一行已经开放端口的配置,例如
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
3、p粘贴,修改成8888
-A INPUT -p tcp -m tcp --dport 8888 -j ACCEPT
4、重启iptables
/etc/init.d/iptables restart
或者
service iptables restart
iptables在基本过滤条件的基础上还可以扩展其他条件,在使用时需要使用-m参数来启动这些扩展功能,语法如下:
一:根据MAC地址过滤
1)根据IP过滤的规则,当对方修改IP后,防火墙会失效
#设置规则禁止192.168.4.10使用ssh远程本机
但是,当client主机修改IP地址后,该规则就会失效,注意因为修改了IP,对client主机的远程连接会断开。 根据MAC地址过滤,可以防止这种情况的发生。
2)可以通过NMAP扫描对方的mac地址
拒绝52:54:00:65:44:B1 这台主机远程本机
二:基于多端口设置过滤规则
一次需要过滤或放行很多端口
例:一次性开启20,25,80,110,143,16501到16800所有的端口
提示:多端口还可以限制多个源端口,但因为源端口不固定,一般不会使用,限制多个源端口的参数是--sports.
三:根据IP地址范围设置规则
1)允许从 192.168.4.10-192.168.4.20 主机ssh远程登录本机
注意:这里也可以限制多个目标IP的范围,参数是--dst-range,用法与--src-range一致。
2)禁止从 192.168.4.0/24 网段其他的主机ssh远程登录本机
所有iptables规则都是临时规则,如果需要永久保留规则需要执行如下命令:
安装iptables-services并启动服务,保存防火墙规则。
防火墙规则存放文件:
/etc/sysconfig/iptables
iptables其他拓展模块还有很多,可以通过 man iptables-extensions 命令去查看。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)