TOOL: 双网卡上内外网的路由设置

双网卡上内外网的设置

由于工作需要要经常连接一个内网的机器,内网不能上外网,查资料很不方便。因此买了 一个网卡,希望一个处理内网,一个处理外网。但是出现的问题时,连上内网之后就不能 上外网了,只能关掉之后才能上。下面对路由进行设置,使默认走外网网卡, 192.168.32.0 网段的走内网。

  • ifconfig 查看两个网卡信息; 外网走 wlp2s0, 内网走wlx085700299283。

    lo        Link encap:Local Loopback  
    inet addr:127.0.0.1  Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING  MTU:65536  Metric:1
    RX packets:4960 errors:0 dropped:0 overruns:0 frame:0
    TX packets:4960 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000 
    RX bytes:8681516 (8.6 MB)  TX bytes:8681516 (8.6 MB)
    
    wlp2s0    Link encap:Ethernet  HWaddr 20:16:b9:48:71:0a  
    inet addr:192.168.111.177  Bcast:192.168.111.255  Mask:255.255.255.0
    inet6 addr: fe80::134a:e8b8:2e58:aebc/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:323247 errors:0 dropped:99 overruns:0 frame:0
    TX packets:127117 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000 
    RX bytes:126203475 (126.2 MB)  TX bytes:22426944 (22.4 MB)
    
    wlx085700299283 Link encap:Ethernet  HWaddr 08:57:00:29:92:83  
    inet addr:192.168.31.102  Bcast:192.168.31.255  Mask:255.255.255.0
    inet6 addr: fe80::86c7:ad2d:efc5:96a4/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:5777 errors:0 dropped:93822 overruns:0 frame:0
    TX packets:223 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000 
    RX bytes:5510774 (5.5 MB)  TX bytes:7343823 (7.3 MB)
    
  • 查看已有路由:

    sudo route -v
    

    必要的时候清除默认网关:

    sudo route del default
    
  • 设置默认网关,默认走外网:

    sudo route add default gw 192.168.111.1 
    
  • 为内网设置内网转发特例

    route add -net 192.168.31.0 netmask 255.255.255.0 dev wlx085700299283
    

这样就行了。

以上操作不能持久,开机之后又会回到默认情况,所以可以将上述命令保存到 /etc/rc.local中。

ubuntu 固定ip设置

ubuntu 16.04 及以下版本

sudo vim /etc/network/interfaces

auto lo
iface lo inet loopback
auto enp2s0 
iface enp2s0 inet static
address 192.168.1.2 
netmask 255.255.255.0
gateway 192.168.1.1

enp2s0 是网卡名称。

ubuntu 18.04 及以上版本

Ubuntu 18.04配置和低版本很不一样, 使用netplan进行配置。

  • 通过 ifconfig 查看网卡名称,比如我的是enp3s0。
  • (动态IP)编辑 /etc/netplan/01-network-manager-all.yaml

    # Let NetworkManager manage all devices on this system
    network:
      version: 2
      renderer: NetworkManager
      ethernets:
         enp3s0: #配置的网卡名称,使用ifconfig -a查看得到
           dhcp4: no #dhcp4关闭
           addresses: [192.168.1.2/24] #设置本机IP及掩码
           gateway4: 192.168.1.1 #设置网关
           nameservers:
             addresses: [114.114.114.114] #设置DNS
    
  • 执行 sudo netplan apply 使之立即生效。
  • (动态IP) 编辑 /etc/netplan/01-network-manager-all.yaml

    # Let NetworkManager manage all devices on this system
    network:
      version: 2
      renderer: NetworkManager
      ethernets:
         enp3s0: #配置的网卡名称,使用ifconfig -a查看得到
           dhcp4: true #dhcp4开启
           addresses: [] #设置本机IP及掩码,空
           optional: true
    
  • 执行 sudo netplan apply 使之立即生效。

Comments

comments powered by Disqus