LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 988|回复: 6

[求助]配置共享上网服务器出问题[已解决]

[复制链接]
发表于 2010-12-10 01:27:11 | 显示全部楼层 |阅读模式
单位的服务器是双网卡的,一个联外网,一个联局域网,局域网通过服务器共享上网。原先装的是win2003,但是外网的网卡总是自动掉线,需要刷新才能上。现在想配置个fedora14服务器,弄不好。
内网是eth0,192.168.0.0/24
外网是eth1。
现在的问题是单开一个网卡,都好用。关eth0可以上外网,关eth1可以ping通内网机子,局域网机器也可以ping服务器。但是两个网卡都开了以后eth1就不能联外网了,网关和DNS都ping不通,eth0正常。
没配置过服务器,是按照vbird教程配置的,设置了resolv.conf, hosts, rc.local, ifcfg-eth0, ifcfg-eth1, 试过设置NAT,但还是一样,可能不是这方面的原因,不知道还有什么文件没设置。
 楼主| 发表于 2010-12-10 22:51:30 | 显示全部楼层
hosts:
AA.BB.CC.DD        fedora-525        # Added by NetworkManager
127.0.0.1        localhost.localdomain        localhost        localhost4
::1        fedora-525        localhost6.localdomain6        localhost6
======================================
resolv.conf:
nameserver 111.222.222.111
======================================
rc.local:
touch /var/lock/subsys/local
ifconfig eth1 down
ifconfig eth1 AA.BB.CC.DD hw ether 00:20:36:3A:0B:76 up
depmod -a
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j SNAT --to-source AA.BB.CC.DD
iptables -t nat -A PREROUTING -d AA.BB.CC.DD -j DNAT --to-destination  192.168.0.254
======================================
ifcfg-eth0:
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.254
PREFIX=24
GATEWAY=192.168.0.254
DNS1=111.222.222.111
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth0
UUID=5b006ba0-0cc0-7bfb-25f1-d32dd653fe03
ONBOOT=yes
NM_CONTROLLED=yes
NETMASK=255.255.255.0
NETWORK=192.168.0.0
USERCTL=no
HWADDR=00:2E:32:7B:9C:0D
======================================
ifcfg-eth1:
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
IPADDR=AA.BB.CC.DD
PREFIX=24
GATEWAY=AA.BB.CC.254
DNS1=111.222.222.111
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth1
UUID=997c62ae-380c-4b96-cb6a-2d5119d5806f
ONBOOT=yes
DEVICE=eth1
BOOTPROTO=none
IPADDR=AA.BB.CC.DD
NETMASK=255.255.255.0
NETWORK=AA.BB.CC.0
ONBOOT=yes
MACADDR=00:20:36:3A:0B:76
NM_CONTROLLED=yes
USERCTL=no
HWADDR=00:08:37:A1:BC:2E
======================================
echo 1 > /proc/sys/net/ipv4/ip_forward
======================================
具体配置贴出来,抄来抄去肯定有错的地方,大家帮帮忙看看哪错了。
回复 支持 反对

使用道具 举报

发表于 2010-12-16 11:06:02 | 显示全部楼层
可能的问题:
1. 你两个网卡的配置,都指定了GATEWAY, 实际上,我们只需要一个网关即可。你可以在/etc/sysconfig/network里面指定一个网关,而不是分别在ifcfg-ethx里面指定两个不同的网关.
2. 实现NAT,除了要求启用内核的ip_forward,添加iptables的NAT规则,应该还需要一个iptables的Forward规则:
  1. iptables -A FORWARD -i  eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  2. iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-16 12:50:47 | 显示全部楼层
好吧,我已经解决了。
把rc.local改了下
rc.local:
touch /var/lock/subsys/local
ifconfig eth1 down
ifconfig eth1 AA.BB.CC.DD hw ether 00:20:36:3A:0B:76 up
depmod -a
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
====================================================
然后restart network。之后还是一样,重启eth1之后就能上了。现在每次都得重启eth1,很怪的问题。
回复 支持 反对

使用道具 举报

发表于 2010-12-17 17:24:50 | 显示全部楼层
知道自己在做什么,大概就知道哪里出了问题。
回复 支持 反对

使用道具 举报

发表于 2010-12-17 17:39:34 | 显示全部楼层
没有仔细看你的问题,我曾经弄过这个东西,好像没你这么复杂,只不过外网是 ADSL 上网。一点心得供参考(其实我也不懂 iptables):

Linux 下用 Iptables 实现共享 ADSL 上网
http://www.learndiary.com/2010/1 ... %E4%B8%8A%E7%BD%91/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-18 00:47:59 | 显示全部楼层
fedora很稳定,不想win那样老掉线。
很懒,没什么大问题就不管。等过两天闲了再把网络安全设置好,抄几个脚本,就算完事了。
谢谢大家回复^_^
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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