小码哥

谁谓河广,一苇杭之

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  7 随笔 :: 17 文章 :: 74 评论 :: 0 Trackbacks

资源:

    PC A: Ubuntu 12.04 LTS,两块网卡,分别为eth0和eth1,使用eth0连接互联网

    PC B: Windows 7, 一块网卡,为eth0

 

目标:

    使得B通过A连接互联网(IPv4),即实现A为路由器的功能

 

步骤:

 

PC A:

    (0)假设eth0已经配置好,PC可以通过eth0连接互联网,配置eth1为,如/etc/network/interface所示

 

                        auto lo

                        iface lo inet loopback

                       

                        auto eth0

                        iface eth0 inet static

                        address 172.16.10.65

                        gateway 172.16.10.254

                        netmask 255.255.0.0

                       

                        auto eth1

                        iface eth1 inet static

                        address 192.168.6.1

                        netmask 255.255.255.0

                        network 192.168.6.0

                        broadcast 192.168.6.255

   

     当然,我是删除了network-manager,network-manager-gnome的才可以通过配置interface这个文件来设置网络的

     你也可以通过network-manager来配置。DNS服务器可以通过/etc/resolv.conf来配置:

                       

                        nameserver 168.95.1.1 #这是我的DNS服务器,你可以配置成你可以访问的,如8.8.8.8

 

    重启你的网络服务或者重启PC A,以上设置就可以生效。

                 

    (1)Linux系统自身就有IPv4包转发的功能,在/etc/sysctl.conf进行配置,

    打开IPv4转发功能:

                        net.ipv4.ip_forward=1

 

    输入以下命令使得上面的设置生效(或者重启电脑):

 

                        sudo sysctl -p

 

    (2)通过iptable实现IPv4包转发

 

                        sudo iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE

 

    可以通过iptables-save将iptables rule都保存到文件中,在通过iptables-restore读取rule到iptables中,

    可以自己写一个脚本来实现iptables自动的载入rule,或者找到iptables的配置文件来修改

 

PC B

    (0)将PC B的eth0与PC A的eth1用网线直接连接,配置PC B的eth0为:

               

                        IP ADDRESS : 192.168.6.101

                        SUBNET MASK: 255.255.255.0

                        GATE WAY   : 192.168.1.1i

                        DNS Server : 168.95.1.1

 

    这样PC B就可以通过PC A连接互联网了

 

 

增强配置:

    路由器都可以自动给PC分配IP,而不需要手动配置IP,这是通过DHCP来实现的。如果也要实现相同的功能,那

    就需要在PC A上搭建一个DHCP服务器。

 

    (0)安装DHCP服务器

                        sudo apt-get install isc-dhcp-common isc-dhcp-server

    (1)配置DHCP

        (i)修改/etc/default/isc-dhcp-server

 

                INTERFACES="eth1"

 

        (ii)修改/etc/dhcp/dhcpd.conf

 

                subnet 192.168.6.0 netmask 255.255.255.0 {

                  range 192.168.6.100 192.168.6.200;

                  option routers 192.168.6.1;

                  option broadcast-address 192.168.6.255;

                  option domain-name-servers 168.95.1.1;

                  default-lease-time 600;

                  max-lease-time 7200;

                }

 

    (2)PC B可以自动获取IP了,如果在PC A的eth1上接一个switch,接在switch上所有的PC都可以获取IP了

posted on 2012-08-22 22:30 小码哥 阅读(9865) 评论(2)  编辑  收藏 所属分类: linux

评论

# re: 把ubuntu配置成路由器+DHCP[未登录] 2016-06-16 17:13 啦啦啦
您好 ,按照您的方法,成功把树莓派配置成了有线路由,也可以DHCP网址,通过树莓派配置的有线路由也可以完成上网功能。
但是现在遇到问题。实验环境:
host A(IP 192.168.2.4)——H3C路由器——树莓派eth0(IP 192.168.3.3) eth1(配置为有线路由 设置静态地址为 192.168.3.4)——host B(dhcp 为 192.168.3.12)

“——”代表有线连接,现在问题是,host B可以ping通 host A,但是host A ping不通host B
但是 host A eth0 eth1 hostB都可以两两互相ping通,请问可能是什么原因呢  回复  更多评论
  

# re: 把ubuntu配置成路由器+DHCP 2016-06-17 12:57 le
@啦啦啦

Host B 和 Host A 不在一个子网  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: