Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1594100
  • 博文数量: 317
  • 博客积分: 10283
  • 博客等级: 上将
  • 技术积分: 3566
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-04 11:38
个人简介

哥使用Linux

文章分类

全部博文(317)

分类: LINUX

2007-10-13 23:15:02

情形:
 
内部的www服务器能被外面的机器访问,Linux作为网关,要进行端口映射。通过adsl连接Internet,
192.168.1.1为网关的内部ip地址,内部的www服务器192.168.1.130。
 
WWW_IP=$(ifconfig ppp0|grep "inet"|awk '{print $2}'|awk -F: '{print $2}')
 
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 \
-j DNAT --to 192.168.1.130:80

 
iptables -A FORWARD -i ppp0 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.130 \
-p tcp --dport 80 -j SNAT --to 192.168.1.1

 
iptables -t nat -A PREROUTING -d $WWW_IP -p tcp --dport 80 \
-j DNAT --to 192.168.1.130
 
这样内外网就可以正常访问内部的WWW服务器器。
 
由于是adsl,它本身的ip是动态的。所以要写一个脚本,在cron里定时执行:
 
#! /bin/sh
WAN_IP=$(ifconfig ppp0|grep "inet"|awk '{print $2}'|awk -F: '{print $2}')
 
$IPT -t nat -R PREROUTING 2 -d $WAN_IP -p tcp --dport 80 -j \
DNAT --to 192.168.1.130
 
#注意2 iptables -t nat -A PREROUTING -d $WWW_IP -p tcp --dport 80 -j DNAT --to 192.168.1.130 对应的序号。

 
静态ip的就更简单了。~_~
 
 
 
阅读(3523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~