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"