Iptables SNAT

       

                                                        Iptables SNAT

使内网的客户端XP能正常的访问公网上的web server。

RHEL5-1 公网web服务器
RHEL5-2 网关服务器
1台XP内网客户端

公网:VMnet2:172.16.1.0/255.255.0.0
私网:VMnet4:192.168.1.0/255.255.255.0

web server:
eth0:VMnet2
IP:  172.16.1.100
Mask:255.255.0.0

Iptables:
eth0:VMnet2
IP:  172.16.1.200
Mask:255.255.0.0

eth1:VMnet4
IP:  192.168.1.254
Mask:255.255.255.0

xp:
本地连接: VMnet4
IP:  192.168.1.100
Mask:255.255.255.0
GW:   192.168.1.254
===========================================================
web server   iptables     XP
172.16.1.100<------>eth0:172.16.1.200
     eth1:192.168.1.254<----->192.168.1.100
===========================================================

     
web server:
# mount /dev/cdrom /mnt
# rpm -ivh /mnt/Server/httpd-2.2.3-43-el5.i386.rpm
# echo "<h1>www.crushlinux</h1>" > /var/www/html/index.html
# service httpd start
# tail -f /var/log/httpd/access_log


Iptables:
永久开启路由转发:
----------------------------------------------------------
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

临时开启路由转发:
----------------------------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward 或者
sysctl -w net.ipv4.ip_forward=1

公网地址固定:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 172.16.1.200

公网地址通过ADSL拨号获取:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE


XP:
ping 测试 172.16.1.100 外网服务器
浏览器访问 172.16.1.100 web server

 

==============================================================================================
Iptables DNAT

1,在Internet中发布企业内部的服务器

RHEL5-1 内网web服务器
RHEL5-2 网关服务器
1台XP公网客户端

公网:VMnet2:172.16.1.0/255.255.0.0
私网:VMnet4:192.168.1.0/255.255.255.0

web server:
eth0:VMnet4
IP:  192.168.1.100
Mask:255.255.255.0
GW:   192.168.1.254

Iptables:
eth0:VMnet2
IP:  172.16.1.200
Mask:255.255.0.0

eth1:VMnet4
IP:  192.168.1.254
Mask:255.255.255.0

xp:
本地连接: VMnet2
IP:  172.16.1.100
Mask:255.255.0.0
===========================================================
web server   iptables     XP
     eth0:172.16.1.200<----->172.16.1.100
192.168.1.100<------>eth1:192.168.1.254
===========================================================

web server:
# mount /dev/cdrom /mnt
# rpm -ivh /mnt/Server/httpd-2.2.3-43-el5.i386.rpm
# echo "<h1>www.crushlinux</h1>" > /var/www/html/index.html
# service httpd start
# tail -f /var/log/httpd/access_log


Iptables:
永久开启路由转发:
----------------------------------------------------------
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

临时开启路由转发:
----------------------------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward 或者
sysctl -w net.ipv4.ip_forward=1

公网地址固定:
# iptables -t nat -F
# iptables -t nat -A PREROUTING -i eth0 -d 172.16.1.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100


XP:
浏览器访问 172.16.1.200 web server

==========================================================
2,发布内部的OpenSSH服务器

网关服务器(iptables)的公网ip:172.16.1.200 在2345端口启用ssh
内网网站服务器的私网ip:192.168.1.100 在22端口启用ssh
需求:可以通过Internet中的客户端远程管理网关及网站服务器
访问:172.16.1.200 在2345端口连接iptables服务器
访问:172.16.1.200 在2346端口连接web服务器

Iptables:
永久开启路由转发:
----------------------------------------------------------
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

临时开启路由转发:
----------------------------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward 或者
sysctl -w net.ipv4.ip_forward=1

# iptables -t nat -A PREROUTING -i eth0 -d 172.16.1.200 -p tcp --dport 2346 -j DNAT --to-destination 192.168.1.100:22


# vim /etc/ssh/sshd_config
Port 2345
# service sshd restart


XP:
通过Putty访问172.16.1.200的2345 2346端口进行测试。

==============================================================================================

加载模块
# modprobe 模块名称

# modeprobe ip_nat_ftp
# modeprobe ip_conntrack_ftp

# lsmod |grep "ftp"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章