nat服务和端口映射

1. NAT服务

1 echo 1 > /proc/sys/net/ipv4/ip_forward
2 iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j SNAT --to 218.222.22.124

echo 1 > /proc/sys/net/ipv4/ip_forward    

#######开启nat转发


iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j SNAT --to 218.222.22.124  
# 将所有10.0.2.x的ip的数据包都转发到218.222.22.124这个公网ip,通过这两条命令,即可实现内网ip共享上网

2. 端口映射
1 iptables -t nat -A PREROUTING --dst 218.222.22.124 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.187:80
如果访问218.222.22.124的80端口,则将数据包转发到10.0.0.187的80端口


例子:把10.20.192.75:9000的请求转到10.20.192.73:80上
   在10.20.192.75上操作:
echo 1 > /proc/sys/net/ipv4/ip_forward
vi /etc/sysconfig/iptables
-A PREROUTING -p tcp -m tcp --dport 9000 -j DNAT --to-destination 10.20.192.73:80
-A POSTROUTING -d 10.20.192.73 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.20.192.75
 
 
 
 
===========================================================
 
一、功能

PC A双网卡:

eth0 192.168.0.200 内网
eth1 183.63.168.67 外网

PC B是转发目标:
eth0 192.168.0.207 内网

PC A的80端口映射到PC B的80端口

二、配置


1、打开转发功能
# vi /etc/sysctl.conf
# net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1

内核参数生效
# sysctl  -p

2、配置转发规则
# iptables -t nat -A PREROUTING -d 183.63.168.67 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.207:80
# iptables -t nat -A POSTROUTING -d 192.168.0.207 -p tcp --dport 80 -j SNAT --to 192.168.0.200
# iptables -A FORWARD -o eth0 -d 192.168.0.207 -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -i eth0 -s 192.168.0.207 -p tcp --sport 80 -j ACCEPT
# 保存修改
# service iptables save
# 重新启动iptables
# service iptables restart
 

 

posted on 2013-03-22 14:55  王维_ICT  阅读(768)  评论(0)    收藏  举报

导航