Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2736410
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: LINUX

2008-06-02 15:28:31

一、系统及adsl 配置

     redhat 系统两快网卡
eth0 192.168.1.1
eth1 192.168.0.1
eth0 连接adsl 猫.
任务: 使用gnway 的动态域名软件把内网的几台服务器发布出去.
使用 adsl-setup 设置adsl (可以搜索linux adsl 设置方法)
#adsl-start 后
#ifconfig -a 查看ppp0 是否连上
 
 
 
 
 
二、adsl 拨号及共享脚本

pp.sh  adsl 启动及共享连接
adsl-stop
adsl-start
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.1/24 -j MASQUERADE
 
 
 
三、nat 脚本

tnat 文件, 将adsl外部地址的80 , 8088 端口分别映射到 192.168.0.105 的8083 及 8088 端口上
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
perl mnat.pl 80 192.168.0.105 8083
perl mnat.pl 8088 192.168.0.105 8088
 
 
mnat.pl 文件, 简化影射命令的perl 文件
 
system("rm -rf tmp.txt");
system("ifconfig ppp0 >> tmp.txt");
open(FILE1,"tmp.txt") || die "Couldn't open tmp.txt";
@num1 = ;
my $cmdstr = $num1[1];
my $pos = index($cmdstr,"inet addr:");
$cmdstr = substr($cmdstr,$pos+10);
$pos = index($cmdstr," ");
$cmdstr = substr($cmdstr,0,$pos);
my $interip = $cmdstr;
my $localip = $ARGV[1]; # local host ip
my $localport = $ARGV[2]; # local host port
my $interport = $ARGV[0]; # internet port
$cmdstr1 ="iptables -t nat -A PREROUTING -p tcp -m tcp -d ".$interip." --dport ".$interport." -j DNAT --to-destination ".$localip.":".$localport."";
system($cmdstr1); # input port to dest localip
print $cmdstr1;
$cmdstr1 = "iptables -t nat -A POSTROUTING -p tcp -m tcp -d ".$localip." --dport ".$localport." -j SNAT --to-source ".$interip;
system($cmdstr1); # output to gateway
print $cmdstr1;
close(FILE1);
system("rm -f tmp.txt");
 
 
 
 
 
三、动态域名系统

下载 gnhostlinux1.3.2.tar
mkdir gn
mv gnhostlinux1.3.2.tar gn
cd gn
tar -zxvf gnhostlinux1.3.2.tar
执行 ./install.sh 安装
编辑
/etc/gnhostlinux.conf
USERNAME=gnhost 用户名
PASSWORD=gnhost 密码
运行
/etc/init.d/gnhostlinuxd restart
即可启动动态域名服务
可将
pp.sh
tnat
/etc/init.d/gnhostlinuxd restart
加入 /etc/rc.d/rc.local 即可实现开机自动运行。
 

 
 
  
 
  

  

 
阅读(2306) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~