双网卡Internet共享上网IP怎么设置?

2024-12-27 09:01:10
推荐回答(3个)
回答1:

网上的教程完全正确。
开A卡的Internet共享功能时,提示的是B卡会被设置成192.168.0.1
B卡在这之前可以不设IP地址,设置其他的IP也可以,总之会被改成192.168.0.1
另外一点要注意,C卡还要设置DNS为192.168.0.1
或者用自动获得IP地址和DNS的方法也可以。

我看你提到路由器,那么你的A卡是192.168.0.X网段,这就有问题了,当你再把A卡共享时,192.168.0.X这个网段无法分配了。原则是A卡的IP地址与B卡的IP地址不能在同一网段。
有以下三种方法可以解决你的问题
路由器的LAN口DHCP改成192.168.1.X,(有的品牌不行),这时再开A卡共享就没有问题了。
不用路由器,A卡连接调制解调器,创建一个ADSL拨号连接,将这个连接共享,这时B卡被设成192.168.0.1,B卡用网线连C卡,C卡用自动获得IP地址与DNS地址,就能共享上网了。
既然用了路由器,C卡用网线接入路由器就能上网了。
无论如何,你的共享试验是绝对能成功的。

回答2:

我单位的实际配置,你参考一下

单位一直是用的ADSL+路由器+交换机的上网方式,一时心血来潮将ubuntu的服务器双网卡做NAT取代路由器。之前主要配置了samba和apache,那么好的配置也没用到什么东西就折腾一下吧

简单倒是满简单的,首先查看IP转发,然后测试规则,所有测试通过后写入启动。

过程:
一、安装好双网卡后将网络拓扑结构变为ADSL-UBUNTU服务器-交换机

二、查看网络信息,使用lspci并配合ifconfig -a 两块网卡正常识别启用,然后配置网卡参数。eth0接ADSL,不用配置,保留为原始状态。eth1接交换机,就必须指定ip地址,编辑/etc /network/interfaces 进行修改,使用代码为:

$ sudo nano /etc/network/interfaces

auto eth1
iface eth1 inet static
address 192.168.16.1 (eth1的ip地址,也充当子网的网管)
netmask 255.255.255.0
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 218.2.135.1 61.147.37.1 (我们当地电信的DNS)

三、配置pppoe拨号上网。使用代码:$ sudo pppoeconf 进行配置,一路下一步,填写拨号用户名和密码就完事儿。设置好以后看看是否能上外网,使用 $ sudo apt-get update或upgrade都行。配置完毕后将/etc/ppp/options 中的lcp-echo-failure 4改为lcp-echo-failure 40,这样就不容易掉线。

四、查看并启用ip转发功能。

代码:$ cat /proc/sys/net/ipv4/ip_forward

如果结果返回值是0代表没有启用ip转发,就必须手工打开,打开方法为编辑/etc/sysctl.conf文件,将其中net.ipv4.ip_forward=1前面注释符号去掉,如果vi不太会用建议使用nano。

代码:$ sudo nano /etc/sysctl.conf

返回结果为:(节选)
# This disables TCP Window Scaling (http://lkml.org/lkml/2008/2/5/167),
# and is not recommended.
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1 (将前面的#去掉)

# Uncomment the next line to enable packet forwarding for IPv6
#net.ipv6.conf.all.forwarding=1
保存后退出,重新启用networking。

四、设置NAT过程。
利用iptables是个简单的方法,不需要多少规则代码,如果以前没有配置过规则就简单的用一个命令。不过还是先手工试验一下参数是否正确再加入/etc/rc.local

代码: $ sudo iptables -t nat -A POSTROUTING -s 192.168.16.0/24 -o ppp0 -j MASQUERADE

如果返回没有任何出错信息就证明一切OK。这时候可以将代码写进/etc/rc.local

代码: $ sudo nano /etc/rc.local

返回结果为:
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# By default this script does nothing.

# iptables -F (如果以前有iptables规则则去掉注释,清除以前规则)
# iptables -P INPUT ACCEPT (ip接收策略 允许)
# iptables -P FORWARD ACCEPT (ip发送策略 允许)
iptables -t nat -A POSTROUTING -s 192.168.16.0/24 -o ppp0 -j MASQUERADE

exit 0

最后一行解释:(iptables 允许nat转发,并且允许192.168.16.0~192.168.16.254网段 转发至pppoe拨号获得的动态地址 实现地址转换)

这样就可以完全使用ubuntu server当NAT路由了,由于没有加上DHCP,所以要将其他客户机分配地址,也就是设置ip 网关,dns等等。在单位测试完全正常。

回答3:

你看到的教程是错误的。
设置如下:
1,A卡192.168.0.1
255.255.255.0
2,B卡192.168.1.1
255.255.255.0
3,C卡192.168.1.2
255.255.255.0
192.168.1.1
dns192.168.1.1
4,B卡与C卡间用交叉线连接
5,拨号连接设置共享,并不是什么A卡设置共享