#!/bin/bash
# nat
#
#
# 使用VMware实验,网络规划如下
# 三台虚拟机,一台做路由转发(route),另外两台做测试机(node1, node2)
#
# ip规划:
# route:
# 网卡1: 桥接 192.168.49.65
# 网卡2: 仅主机 172.16.0.128
# node1: 桥接 192.168.49.85 网关: 192.168.49.65
# node2: 仅主机 172.16.0.129 网关: 172.16.0.128
# 网关设置:
# route del -net 0.0.0.0
# route add default gw 192.168.49.65
#
# 注意: route要打开网络转发功能 sysctl -w net.ipv4.ip_forward=1 想永久生效需修改/etc/sysctl.conf配置文件
#
# 当如上都配置好之后,三台主机应该都是能互相ping通的
# snat - 源地址转换
# -j SNAT –to-source
# 当请求源地址为172.16.0.0/24的时候,进行源地址转换
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 192.168.49.65
# 禁止node1的icmp reply(响应)报文, 即可以ping别人,但是别人无法ping自己
#iptables -A FORWARD -s 192.168.49.0/24 -p icmp –icmp-type 0 -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# 只允许通过本机转发到192.168.49.85:80的报文
iptables -A FORWARD -d 192.168.49.85 -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A FORWARD -j DROP
iptables-save > /etc/sysconfig/iptables.snat
iptables-restore < /etc/sysconfig/iptables.snat