linux单网卡主路由做路由器,利用SuSE做路由器,单网卡配置nat

利用SuSE做路由器,单网卡配置nat

发布时间:2006-08-25 17:10:34来源:红联作者:严寒

由于我们实验室本科生来作毕业设计,ip地址不够用,我的SuSE就暂时做了router。

eth0原来的配置如下:

[code]IP: 211.71.6.144

MASK: 255.255.255.192

ROUTER: 211.71.6.190

DNS: 202.112.128.73[/code]

第一步:

为了使用nat必须给eth0再配置另外一个ip,192.168.3.1/255.255.255.0

在suse10下,使用命令yast2 lan来添加另外一个ip

在/etc/dhcpd.conf文件中添加如下配置:

[code]subnet 192.168.3.0 netmask 255.255.255.0 {

range 192.168.3.2 192.168.3.254;

option routers 192.168.3.1;

option domain-name "vrlab.buaa.edu.cn";

option domain-name-servers 202.112.128.73;

}[/code]

然后启动dhcp服务

[code]chkconfig dhcpd on

/etc/init.d/dhcpd start[/code]

第二步:

然后编写脚本/etc/init.d/nat,内容如下:

[code]#!/bin/bash

IPTABLES='/usr/sbin/iptables'

EXTERNAL='eth0'

EXTERNIP='211.71.6.144'

INTERNAL='eth0'

INTERNIP='192.168.3.0/24'

# reset the three default ipchains

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

# reset the nat talbe

$IPTABLES -t nat -P PREROUTING ACCEPT

$IPTABLES -t nat -P POSTROUTING ACCEPT

$IPTABLES -t nat -P OUTPUT ACCEPT

# flush the ipchains and nat table

$IPTABLES -F

$IPTABLES -F -t nat

# delete non-default rules of ipchains and nat table

# only the flushed user-defined chains can be deleted

$IPTABLES -X

$IPTABLES -t nat -X

#reset zero

#$IPTABLES -Z -t nat

$IPTABLES -Z

$IPTABLES -t nat -Z

start(){

#load necessary modules

echo "Starting modprobe necessary modules for iptables"

modprobe ip_tables 1> /dev/null

modprobe ip_nat_ftp 2> /dev/null

modprobe ip_nat_irc 2> /dev/null

modprobe ip_conntrack 2> /dev/null

modprobe ip_conntrack_ftp 2> /dev/null

modprobe ip_conntrack_irc 2> /dev/null

# enable communication inside local domain

$IPTABLES -A INPUT -i $INTERNAL -s $INTERNIP -j ACCEPT

$IPTABLES -A OUTPUT -o $INTERNAL -d $INTERNIP -j ACCEPT

# enable ip masquerade

echo "1" >/proc/sys/net/ipv4/ip_forward

$IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -s $INTERNIP -j MASQUERADE

}

stop(){

echo "Stopping firewall"

$IPTABLES -P INPUT DROP

$IPTABLES -P OUTPUT DROP

$IPTABLES -P FORWARD DROP

echo "0" >/proc/sys/net/ipv4/ip_forward

}

restart(){

stop

start

}

# see how we were called

case $1 in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

*)

echo $"Usage:$0 { start | stop | restart }"

exit 1

esac[/code]

最后使用如下命令启动nat

[code]chkconfig nat on

/etc/init.d/nat start[/code]

在同一个局域网中的主机通过运行dhcp客户端就可以得到192.168.3.*的内网IP地址。额外的好处是vmware虚拟的所有操作系统只要设置为bridged,通过dhcp客户端也可以得到一个IP地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值