一、双网卡网络共享

具体描述:服务器eth0连接外网,eth1连接笔记本,笔记本能够上网。

操作步骤

  1. 修改网卡信息

    • 外网
    vi /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    NM_CONTROLLED=yes
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    IPV6_AUTOCONF=no
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth0
    UUID=38938e8a-79e4-4c01-8c2a-effdadcca483
    DEVICE=eth0
    ONBOOT=yes
    DNS1=8.8.8.8
    IPADDR=192.168.0.145
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_PRIVACY=no
    ZONE=
    MTU=1492
    
    • 内网
    vi /etc/sysconfig/network-scripts/ifcfg-eth1TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    IPADDR=192.168.100.100
    NETMASK=255.255.255.0
    NM_CONTROLLED=yes
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth1
    UUID=0ce8bb17-3486-4ce0-a9ee-efa25eb8edc9
    DEVICE=eth1
    ONBOOT=yes
    DNS1=8.8.8.8
    
  2. Linux系统启用端口转发(NAT)功能
    # 非永久修改
    echo 1 > /proc/sys/net/ipv4/ip_forward
    # 永久修改
    vi /etc/sysctl.conf
    net.ipv4.ip_forward=1
    sysctl -p
    
  3. 修改防火墙设置,将网卡eth1改成trusted区域:
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    firewall-cmd --permanent --zone=public --remove-interface=eth1
    firewall-cmd --permanent --zone=trusted --add-interface=eth1
    firewall-cmd --reload
    systemctl restart firewalld
    
  4. 配置 NAT 规则:将所有发送到192.168.100.*的数据包转发到eth0(外网网卡)
    iptables -t nat -A POSTROUTING -s 192.168.100.0/255.255.255.0 -o eth0 -j MASQUERADE
    
  5. 允许端口转发,执行命令
    iptables -A FORWARD -i eth1 -j ACCEPT
    
  6. 配置连接内网的主机ip信息
    ip:192.168.100.5
    子网掩码:255.255.255.0
    网关:192.168.100.100(服务器eth1的ip)
    dns:8.8.8.8
    

shell脚本

  1. share-eth.sh

    #!/bin/sh
    # use to share the two network card and make the eth0 linked public network, eth1 linked LAN.
    # And make the post data of eth1 would be sent to eth0.echo "# 修改网卡eth1"
    sed -i 's/IPADDR=.*/IPADDR=192.168.100.100/g' /etc/sysconfig/network-scripts/ifcfg-eth1
    sed -i 's/ONBOOT=.*/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth1
    sed -i 's/BOOTPROTO=.*/BOOTPROTO=static/g' /etc/sysconfig/network-scripts/ifcfg-eth1
    service network restartecho "# 启用端口转发(NAT)功能"
    echo 1 > /proc/sys/net/ipv4/ip_forwardecho "# 修改防火墙设置,将网卡eth1改成trusted区域:"
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    firewall-cmd --permanent --zone=public --remove-interface=eth1
    firewall-cmd --permanent --zone=trusted --add-interface=eth1
    firewall-cmd --reload
    systemctl restart firewalldecho "# 配置 NAT 规则:将所有发送到 eth1(192.168.100.100) 的数据包转发到 eth0(外网网卡)"
    #ip=$(awk -F "=" '/^IPADDR/{print $2}' /etc/sysconfig/network-scripts/ifcfg-eth1)
    iptables -t nat -A POSTROUTING -s "192.168.100.100/255.255.255.0" -o eth0 -j MASQUERADEecho "# 允许端口转发,执行命令"
    iptables -A FORWARD -i eth1 -j ACCEPT
    
  2. trans.sh
    #!/bin/sh
    iptables -t nat -A POSTROUTING -s "192.168.100.100/255.255.255.0" -o eth0 -j MASQUERADE
    

注意:执行shell脚本方式配置的话,执行完share-eth.sh之后还需再执行一次trans.sh

当eth0和eth1处于同一个网段的时候会出现什么情况?

这时连接的主机的ip也和它们处于同一网段,相互之间并不连通。

怎么解决?

  1. 服务器网卡信息:

    eth0 : 192.168.0.145  Gateway: 192.168.0.1
    eth1 : 192.168.0.100
    

    连接的主机:

    192.168.0.111 Gateway: 192.168.0.100
    
  2. 解决方法:将连接的主机ip加入服务器的路由表
    route add -host 192.168.0.111 dev eth1
    

CentOS实现双网卡网络共享相关推荐

  1. 计算机网络探究一之利用双网卡主机共享上网

    综述 大家好,这次我们需要实现的是实现双网卡主机共享上网,就是一台主机通过连接另一台可以访问外网的双网卡主机来正常上网.所以我们需要两台机器来进行测试,在这里我们用的是两台Ubuntu 14.04,其 ...

  2. Linux双网卡NAT共享上网

    Linux双网卡NAT共享上网 阅读目录(Content) 服务器设置: 1.激活IP转发 2.NAT配置 客户端设置 1.NAT方法: 2.网桥方法: linux双网卡NAT共享上网 术语字汇 私有 ...

  3. linux 双网卡主备,CentOS下双网卡主备模式配置

    CentOS下双网卡主备模式配置 1简述 通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问. 2实现 2.1.查看网卡信息 执行ifconfig ...

  4. CentOS下双网卡单网关路由配置

    CentOS下双网卡单网关路由配置 大 | 中 | 小 [ 所属分类 系统(linux) | 发布者 店小二03 | 时间 20131001 |作者 路人甲 ]0人收藏点击收藏 CentOS下双网卡单 ...

  5. CentOS系统双网卡路由设置

    CentOS系统双网卡路由设置 2011-11-22 16:35:05|  分类: linux_route |举报 |字号 订阅 下载LOFTER 我的照片书  | centos 设置双网卡,双网关 ...

  6. centos 设置双网卡,双网关

    centos 设置双网卡,双网关 centos 设置双网卡,双网关 centos 设置双网卡,双网关 centos操作系统 一个是192段(eth1外网),一个是172(eth0内网)段,我们都知道一 ...

  7. linux 单网卡 路由,CentOS下双网卡单网关路由配置

    CentOS下双网卡单网关路由配置 假定主机的网卡1的IP地址为:219.223.244.233/21,网卡2的IP地址为:219.223.242.216/21单网为:219.223.240.1(这里 ...

  8. linux双网卡绑定配置lacp,Redhat和Centos操作系统双网卡绑定

    Redhat和Centos操作系统双网卡绑定 猫先生 • 2019 年 05 月 31 日 在我们日常Linux使用中,一般对于生产网都会使用双网卡或多网卡接入,这样既能添加网络带宽,同时又能做相应的 ...

  9. linux nat和网桥多网卡,linux 双网卡 NAT共享上网

    linux 双网卡共享上网 一.网络拓补结构: 服务器:两网卡的设置: eth0:202.96.168.100 掩码:255.255.255.0 网关:202.96.168.68 #与 Inte.Ne ...

  10. 记录一次centos的双网卡绑定

    准备做kvm的虚拟话,物理机采用双网卡配置,计划将双网卡绑定再配置桥接. 1.在/etc/sysconfig/network-scripts/下创建文件ifcfg-bond0,配置文件: DEVICE ...

最新文章

  1. NSStream线程阻塞处理
  2. 爬取校园新闻首页的新闻
  3. POST和GET有什么区别? [重复]
  4. python七段数码管设计图案-Python绘制七段数码管实例代码
  5. vs与qt版本对应关系
  6. 神策数据与达观数据达成战略合作,共拓大数据服务市场
  7. jar包冲突常用的解决方法
  8. for循环中取出最大最小 累加_从零开始学Python - 第006课:循环结构
  9. Angular5 JWT身份验证(Spring Boot安全性)
  10. Datatables 给行绑定选中事件
  11. (2021) 23 [持久化] I/O设备与驱动
  12. dedecms织梦第三方登录插件-QQ登录、微博登录、微信登录
  13. pygame游戏开发-简介
  14. MySQL的json查询之->、->>、json_extract、json_unquote
  15. 请来围观:WPF开发的微信客户端!!!
  16. Early stopping conditioned on metric `val_loss` which is not available
  17. 蓝桥杯OJ示例题目之A+B问题——掌握获取输入的基本方法(Python)
  18. word如何一次性删除所有批注
  19. 常见的SQL面试题: 经典50题
  20. 全世界最好听的钢琴曲

热门文章

  1. 分享新作:休闲小游戏『Flying Stone』
  2. 动态规划_数字的划分
  3. 什么是 PaaS?“平台即服务“ 简介
  4. Java 网络编程 -- 基于TCP 实现聊天室 群聊 私聊
  5. centos7.6安装mysql数据库_CentOS7.6安装MYSQL8.0
  6. java公告栏源码_公告栏view
  7. macbook历代_苹果笔记本的进化史 历代Macbook产品回顾
  8. TE波TM波和TEM波波阻抗
  9. mysql 闰年,[MySQL]--gt;查询5天之内过生日的同事中的闰年2月
  10. uniapp js 金额与星星**符号互转