2024年3月10日发(作者:)

ubuntu

双网卡设置内外网上网问题,实现路由转发功能

首先,我们要在一台装有

ubuntu

系统的电脑上再装上一块网卡,使得可以通过配置

ip

、子网掩码等实现

路由转发。

接下来要做的就是手工设置

ip

地址之类的了。

1

、关掉

ubuntu

系统提供的

network-manager

,使用命令就是:

关闭

network-manager

命令:

/etc/init.d/network-manager stop

关闭之后你就会发现你原来通过编辑连接来配

ip

的方法不能用了。

2

、在终端配置两个网卡的

ip

netmask

getway

等等。

在这里,我们首先要明白两个网卡的作用。

eth0

:该网卡是电脑原装的网卡,我们将它用作连接外网的网卡。

eth1

:该网卡是我们新加的网卡,我们将它作为连接内网的网卡。

安装了双网卡的电脑处于一个中间位置,它所装有的两个网卡的功能就是将内网网段发来的数据包转发

到外网网段去,因为内外网不在一个网段,如果不经过中间的包装修改就无法与外面发起连接。

现在,进入正题,我们就来设置两个网卡的地址。

使用命令:

root@xiaoxiao-Lenovo-G470:~# cd /etc/network

root@xiaoxiao-Lenovo-G470:/etc/network# gedit interfaces

打开

interfaces

文件以后,

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address 172.22.112.74

(外网网卡

ip

地址)

netmask 255.255.255.0

(外网子网掩码)

network 172.22.112.0

(网络)

broadcast 172.22.112.255

(广播地址)

auto eth1

iface eth1 inet static

address 192.168.0.1

(内网网卡

ip

地址)

netmask 255.255.255.0

(内网子网掩码)

network 192.168.0.0

(网络)

broadcast 192.168.0.255

(广播地址)

自己的笔记本电脑也要设置新的

ip

地址,设置网段应属于内网网段。

auto eth0

iface eth0 inet static

address 192.168.0.2

(网卡

ip

地址)

netmask 255.255.255.0

(外网子网掩码)

network 192.168.0.0

(网络)

broadcast 192.168.0.255

(广播地址)

getway 192.168.0.1

(网关地址,因为你要将的数据包从

192

这个网段发出去到

172

这个网段,要经过

eth1

网卡的转发,所以设置

eth1ip

地址网关,发出去的数据包就会通过

eth1

发出去。)

3

、设置完成之后就重启网络,使设置生效。

重启

network-manager

命令:

/etc/init.d/networking restart

4

、可以输入命令:

route -n

查看你所配置的是否成功。

5

、用交叉线连接网卡

eth1

和你的笔记本电脑,之后用你的电脑

ping 192.168.0.1

看是否

ping

通。

用双网卡电脑

ping 192.168.0.2

172.22.112.1

看是否

ping

通。

最后,用你的电脑

ping 172.22.112.1

看是否

ping

通,如果都成功了说明实现了转发。

接下来,要做的就是搭建

NAT

,实现地址转换。

1

、首先打开双网卡机器的路由转发功能。

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

打开

ip

转发,

1

表示打开,

0

表示不转发。

也可以进入到

ip_forward

下查看,若是

0

则改为

1

2

、依次输入下列命令:

root@ubuntu1-Lenovo:~# iptables -F

(清除所有

ip

规则)

root@ubuntu1-Lenovo:~# iptables -P INPUT ACCEPT

( 打开接受功能)

root@ubuntu1-Lenovo:~# iptables -P F ORWARD ACCEPT

(打开发送功能)

root@ubuntu1-Lenovo:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3

、查看当前

ip

规则:

iptables -t nat -L POSTROUTING

iptables -t nat -D POSTROUTING –verbose

你就会看见你添加的

ip

规则。

这样,内网机器就可以共享上网了,你可以打开红言网校试试看~~

接下来,我们要做的就是构建网桥了,使内外网建立链接。

1

、默认

Ubuntu

是没有网桥设置工具

(brctl)

的。你需要安装

bridge-utils

。下载好安装包之后,要自行安

装。

有线安装软件

:sudo apt-get install

软件名

离线安装软件:

dpkg -i *.deb

2

、其次我们要做的就是删除之前我们设置的

ip

规则。

删除当前

ip

规则:

iptables -t nat -D POSTROUTING 1

查看当前

ip

规则:

iptables -t nat -D POSTROUTING –verbose

这时,你会发现什么都没有了。

3

、输入命令:

root@ubuntu1-Lenovo:/home/ubuntu1# brctl addif br0 eth0

(删除原来网卡

eth0

的配置)

root@ubuntu1-Lenovo:/home/ubuntu1# brctl addif br0 eth1

(删除原来网卡

eth1

的配置)

root@ubuntu1-Lenovo:/home/ubuntu1# ifconfig br0 172.22.112.74 netmask 255.255.255.0

broadcast 172.22.112.255 up

(给网桥分配

ip

地址)

root@ubuntu1-Lenovo:/home/ubuntu1# ifconfig

br0 Link encap:

以太网 硬件地址

10:78:d2:fa:19:13

inet

地址

:172.22.112.74

广播

:172.22.112.255

掩码

:255.255.255.0

inet6

地址

: fe80::1278:d2ff:fefa:1913/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500

跃点数

:1

接收数据包

:45

错误

:0

丢弃

:0

过载

:0

帧数

:0

发送数据包

:7

错误

:0

丢弃

:0

过载

:0

载波

:0

碰撞

:0

发送队列长度

:0

接收字节

:10850 (10.8 KB)

发送字节

:578 (578.0 B)

eth0 Link encap:

以太网 硬件地址

10:78:d2:fa:19:13

inet6

地址

: fe80::1278:d2ff:fefa:1913/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500

跃点数

:1

接收数据包

:23783

错误

:0

丢弃

:185

过载

:0

帧数

:0

发送数据包

:2360

错误

:0

丢弃

:0

过载

:0

载波

:0

碰撞

:0

发送队列长度

:1000

接收字节

:5755235 (5.7 MB)

发送字节

:176805 (176.8 KB)

eth1 Link encap:

以太网 硬件地址

74:ea:3a:6a:d6:8f

inet6

地址

: fe80::76ea:3aff:fe6a:d68f/64 Scope:Link

UP BROADCAST MULTICAST MTU:1500

跃点数

:1

接收数据包

:11503

错误

:0

丢弃

:0

过载

:0

帧数

:0