找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 1769|回复: 5

[NAS/Server] [ZT]CentOS系统双网卡路由设置

[复制链接]
发表于 2013-12-27 22:57 | 显示全部楼层 |阅读模式
情况是这样的:
     一台机器PC1为CentOS 5.5,配有两块网卡eth0和eth1。
      eth0外网,假定为202.103.24.1;eth1接内网,假定IP为:192.168.100.1;

     另一台机器PC2为一个网卡接入内网,IP为192.168.100.11。
     现在要使用路由转发功能,让PC2能通过PC1访问外网主机。

   1. 首先要打开PC1的IP转发功能,默认是关闭的,可用下面命令检查:
        more  /proc/sys/net/ipv4/ip_forward   
    如果显示值为0,则是关闭的,需要打开,采用shell命令:
       echo  1 > /proc/sys/net/ipv4/ip_forward
     由于该命令只是不重启进程,而直接暂时打开转发,为防止重启后配置失效,需要用命令vi /etc/sysctl.conf修改配置文件,
  将其中net.ipv4.ip_forward = 0改为:net.ipv4.ip_forward = 1
    为PC1添加两个路由,命令为:
     route add -net 192.168.100.0/24  dev eth0
   

    2. PC2需要将缺省网关设置为PC1 eth1的IP
       vi /etc/sysconfig/network
       ...
       GATEWAY=192.168.100.1
    3. 修改PC1的/etc/sysconfig/iptables
    注释掉:
       #-A FORWARD -j RH-Firewall-1-INPUT
    添加:  
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -s 192.168.100.0/24 -j SNAT --to-source 202.103.24.1
COMMIT

    在*filter段添加   
-A FORWARD -s 192.168.100.0/24 -j ACCEPT
-A FORWARD -d 192.168.100.0/24 -j ACCEPT
-A FORWARD -s ! 192.168.100.0/24 -j DROP

    重启iptables:    #service iptables restart


回复

使用道具 举报

 楼主| 发表于 2013-12-27 23:00 | 显示全部楼层
CentOS下双网卡单网关路由配置

假定主机的网卡1的IP地址为:219.223.244.233/21,
网卡2的IP地址为:219.223.242.216/21
单网关为:219.223.240.1(这里21表示网络地址)

首先,增加网关地址:

route add -net 219.223.240.0 netmask 255.255.248.0 gw 219.223.240.1


其次,修改/etc/iproute2/rt_tables,添加内容如下:

252  net2

251  net3

#/etc/rc.local添加原路返回路由,内容如下:

ip route flush table net2

ip route add default via 219.223.240.1 dev eth0 src 219.223.244.233 table net2

ip rule add from 219.223.244.233 table net2

ip route flush table net3

ip route add default via 219.223.240.1 dev eth1 src 219.223.242.216 table net3

ip rule add from 219.223.242.216 table net3

最后,重启电脑即可
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 23:08 | 显示全部楼层

[ZT]CentOS 双网卡共享上网配置心得

一、网络拓补结构:

服务器:

两网卡的设置:

eth0与 Internet 相联:202.96.168.100

掩码:255.255.255.0

网关:202.96.168.68


eth1与局域网相联:192.168.1.1

掩码:255.255.255.0



客户机子网段:192.168.1.0/255



二、服务器设置



2.1、用NAT方法 在服务器上执行下面几条命令:

echo "1" > /proc/sys/net/ipv4/ip_forwar   #打开IP转发,1表示转发;0表示不转发

上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上下面一行: net.ipv4.ip_forward = 1

其余命令是 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE



三、客户机设置: eth0:192.168.1.10 掩码:255.255.255.0 网关:192.168.1.1



四、iptables命令参考:

iptables命令格式

iptables [-t nat] CMD [chain] [rule-matcher] [-j target] -t

nat:表示操作nat表 CMD:为操作命令 chain:为链名 rule-matcher:为规则匹配器 target:为目标动作

iptables -t nat -F #清除原有的nat表中的规则

iptables -F #清除原有的filter有中的规则

iptables -P FORWARD ACCEPT #缺省允许IP转发

五、配置感想:
按照NAT 的方法,很快配置完成,并且可以顺利上网。对于那些对于网络配置没什么特殊要求的用户,可以选用NAT方法,简单实用。

补充: 如果想在代理机器重启后,仍然能够上网,就需要将这些命令写入到某些文件中,具体如下:

在/etc/rc.d/rc.loca文件中加上下面一行

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

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


打开/proc/net/ip_conntrack可以看到连接情况


http://www.oa25.org/?q=node/43

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 23:09 | 显示全部楼层
Centos系统双网卡主机配置路由器
使用iptables的NAT功能把Linux作为一台路由器使用
1.配置IP地址
/etc/sysconfig/network-stripts/ifcfg-eth0  配置网卡一
/etc/sysconfig/network-stripts/ifcfg-eth1  配置网卡二
2.打开包转发功能:
  echo "1" > /proc/sys/net/ipv4/ip_forward
3.修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效:
   # Controls IP packet forwarding
   net.ipv4.ip_forward = 1
4.打开iptables的NAT功能:
  /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  说明:上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则:   service iptables save  /sbin/service iptablese restart
5.查看路由表:
   netstat -rn 或  route -n
6.查看iptables规则:
   iptables -L


http://blog.sina.com.cn/s/blog_679255ee0100lak3.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 23:13 | 显示全部楼层

[ZT]linux双网卡NAT共享上网的方法

一般服务器 最少都有2个网卡 当想2个网卡同时共享上网的时候 应该也有一种方法可以实现..大家请看

   服务器设置:(这两种方法任选其一即可)
    1用NAT方法
    在服务器上执行下面几条命令:
    echo "1" > /proc/sys.Net/ipv4/ip_forward #打开IP转发,1表示转发;0表示不转发
    上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上下面一行:
    net.ipv4.ip_forward = 1
    其余命令是:
    iptables -F
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #打开NAT
    2.2、用网桥方法:
    echo "1" > /proc/sys.Net/ipv4/ip_forward
    ifconfig eth0 0.0.0.0 up
    ifconfig eth1 0.0.0.0 up
    brctl addbr br0 #添加一个网桥
    brctl addif br0 eth0
    brctl addif br0 eth1 #将eth0 eth1加到网桥中去
    ifconfig br0 192.168.1.1.Netmask 255.255.255.0 broadcast 192.168.1.255 up #给网桥分配IP地址,如果不做NAT,也不需要远程访问网桥的话,可以不设IP地址,但必须启用网桥(ifconfig br0 up)
    route add default gw 202.96.168.68 #如果网桥不需要访问其他机器的话,可以不添加网关。
    三、客户机设置:
    eth0:192.168.1.10 掩码:255.255.255.0 网关:192.168.1.1
    四、iptables命令参考:
    iptables命令格式
    iptables [-t nat] CMD [chain] [rule-matcher] [-j target]
    -t nat:表示操作nat表
    CMD:为操作命令
    chain:为链名
    rule-matcher:为规则匹配器
    target:为目标动作
    iptables -t nat -F #清除原有的nat表中的规则
    iptables -F #清除原有的filter有中的规则
    iptables -P FORWARD ACCEPT #缺省允许IP转发
    五、配置感想
    按照NAT 的方法,很快配置完成,并且可以顺利上网。对于那些对于网络配置没什么特殊要求的用户,可以选用NAT方法,简单实用。

http://www.51buyhost.com/thread-3433-1-1.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-27 23:27 | 显示全部楼层

[ZT]如何开启Linux双网卡的转发功能

一台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 eth0route 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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2024-12-28 16:08 , Processed in 0.283643 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表