ubuntu双网卡设置内外网上网问题,实现路由转发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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