本文参考学习完成
路由和NAT的区别:
在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。
做这个实验室是用VMware实现,一个vm有双网卡,一块Bridged,配置外网地址;一块Custom Specific virtual network:VMnet2,配置内网地址。另外一个vm是单网卡Custom Specific virtual network:VMnet2,配置内网地址。
1)用iptables实现NAT
iptables -N chain 建立一个链
iptables -X chain 删除一个链
iptables修改完毕后必须通过service iptables save或iptables-save>/etc/sysconfig/iptables生效
iptables -t nat --list 查看nat表的内容
假设所有的chain的默认策略都是ACCEPT
a.修改/etc/sysctl.conf中的net.ipv4.ip_forward = 1,执行sysctl -p /etc/sysctl.conf生效
b.下面任意一条命令均可以实现NAT,即从内网可以访问外网
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 外网ip
c.进一步iptables -P FORWARD DROP
iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 允许已经建立的连接从外网访问内网
iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT 允许从内网到外网的路由
d.进一步iptables -t nat -P POSTROUTING DROP
iptables -t nat -A POSTROUTING -o eth1 -j ACCEPT 网关服务器ping通内网
iptables -t nat -A POSTROUTING -o lo -j ACCEPT 网关服务器ping通自己
e.进一步iptables -t nat -P PREROUTING DROP
iptables -t nat -A PREROUTING -i eth1 -j ACCEPT 允许内网访问外网
允许外网访问网关服务器
iptables -t nat -A PREROUTING -i eht0 -s 外网网段/255.255.255.0 -j ACCEPT
f.进一步iptables -t nat -P OUTPUT DROP
iptables -t nat -P OUTPUT -s 192.168.1.1 -j ACCEPT 网关服务器可以对内网访问
iptables -t nat -P OUTPUT -s 网关服务器外网地址 -j ACCEPT 网关服务器可以对外网访问
g.进一步iptables -P INPUT DROP
iptables -A INPUT -s 外网网段/255.255.255.0 -j ACCEPT 允许外网访问网关服务器
允许已经建立的连接访问网关服务器
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT 网关服务器ping通自己
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT 内网访问网关服务器
h.进一步iptables -P OUTPUT DROP
iptables -A OUTPUT -s 192.168.1.1 -j ACCEPT 网关服务器访问内网
iptables -A OUTPUT -s 网关服务器外网地址 -j ACCEPT 网关服务器访问外网
允许已经建立的连接出去
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
阅读(1285) | 评论(0) | 转发(0) |