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"