Chinaunix首页 | 论坛 | 博客
  • 博客访问: 138971
  • 博文数量: 36
  • 博客积分: 1180
  • 博客等级: 少尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-30 10:21
文章分类

全部博文(36)

文章存档

2012年(1)

2011年(21)

2010年(14)

分类: LINUX

2011-08-05 08:35:48

一台Linux服务器,通过两个网卡,连接两个不同的网段,

A:192.168.xxx.xxx  

B:172.24.xxx.xxx,

从而实现了A网段和B网段的互通。原因Linux机器可以通过设置实现数据包的转发功能。 

在不启动机器的情况下运行: 

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

打开包转发功能。 

如果要让包转发功能在系统启动以后自动生效,需要修改/etc/sysctl.conf文件,添加一行: 

   # Controls IP packet forwarding
    net.ipv4.ip_forward = 1

添加正确的静态路由:

route add -net 192.168.76.0 netmask 255.255.255.0 dev eth0 route add -net 172.24.178.0 netmask 255.255.255.0 dev eth1
做完上面两步之后,如果还不能实现网络的互通,需要核查路由的配置情况,包括来回两个方向,一定要把Linux机器设置为网关。

如果要把Linux设置成路由器,打开iptables的NAT功能: 

  /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则: 

  service iptables save

查看路由表: 

  netstat -rn

查看iptables规则: 

  iptables -L
阅读(3919) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chenzhj2011-08-06 14:00:19

思路非常地清晰。