linux局域网通过映射(双网卡)访问外网

图示说明:
IP规划设置
| 主机名 | ip地址 | ip地址(第二个网卡配置的地址) | 地址类别 |
| oldboy01 | 192.168.10.20 | 空 | 仅可访问内网主机 |
| oldboy02 | 192.168.10.10 | 10.0.0.10 | 可访问内外网主机 |
修改网卡配置及iptables配置
开始修改oldboy01(LAN)主机配置
[root@web01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.168.10.20 #设置网卡ip
NETMASK=255.255.255.0 # 设置掩码
GATEWAY=192.168.10.10 #修改网关配置为oldboy2局域网IP地址
DNS1=223.5.5.5 #设置DNS,如果不设置DNS,则无法ping通域名
USERCTL=no
PEERDNS=yes
IPV6INIT=no
显示oldboy01的路由:

完成oldboy01的修改
开始oldboy02(WLAN)的设置
echo ""> /proc/sys/net/ipv4/ip_forward #修改当前系统内存中ip_forward的值,这是开启ip转发
cat /proc/sys/net/ipv4/ip_forward sysctl -p
echo -e "# Controls IP packet forwarding\nnet.ipv4.ip_forward = 1 " >>/etc/sysctl.conf #将ip转发参数,写入内容到配置文件,每次启动机器时都会开启ip转发功能
tail - /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward =
[root@oldboy02 /]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/ -j SNAT --to 10.0.0.10 #将内网出口规则写入到iptables内存中
[root@oldboy02 /]# service iptables save #保存设置
#将上面写入的内容保存到文件中
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] #上面规则写入的配置文件/etc/sysconfig/iptables
[root@oldboy02 /]# /etc/init.d/iptables restart #重启iptables
iptables: Setting chains to policy ACCEPT: nat filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@oldboy02 /]# iptables-save #显示iptables规则(iptables-save可以显示iptables配置文件及内存中新添加的规则)
# Generated by iptables-save v1.4.7 on Thu Nov ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A OUTPUT -p tcp -m tcp --dport -j ACCEPT
COMMIT
# Completed on Thu Nov ::
# Generated by iptables-save v1.4.7 on Thu Nov ::
*nat
:PREROUTING ACCEPT [:]
:POSTROUTING ACCEPT [:]
:OUTPUT ACCEPT [:]
-A POSTROUTING -s 192.168.10.0/ -o eth0 -j SNAT --to-source 10.0.0.10 #之前追加的iptables规则
COMMIT
# Completed on Thu Nov ::
完成修改oldboy02主机配置 测试是否可以访问外网oldboy01

linux局域网通过映射(双网卡)访问外网的更多相关文章
- linux内网机器访问外网代理设置squid
公司一般出于安全考虑, 在同一局域网中只有一台机器可以访问外网,运维进行了整体的限制, 但是在后面的工作中,需要在机器上安装一些软件,及命令,所以其他的机器需要访问外网来简化工作, 但又不能打乱原有运 ...
- linux查看是否能访问外网及拥有的公网IP
linux查看是否能访问外网及拥有的公网IP linux查看是否能访问外网及拥有的公网IP: 1,测访问外网能力:curl -l http://www.baidu.com 2,测访问外网能力:wget ...
- 利用iptables的NAT代理实现内网访问外网
利用NAT代理实现内网访问外网 背景及原理 若局域网中的两台计算机只能有一台能够访问外网,而这两台计算机之间能相互通信,那么可以配置能访问外网的那台服务器实现路由器的功能,即实现其他机器的NAT转换, ...
- ubuntu 配置dns访问外网
我新建了一个虚拟机后采用的net模式 一 先配置虚拟机ip使其能在局域网内通信 1.vmware 编辑->虚拟网络编辑器 可以看到网关.掩码等信息 可以看到我们配置的ip应该在192.168.1 ...
- centOS7 可以ping通主机不能访问外网
前言: 突然打开自己前不久在虚拟机安装的centOS7系统,发现以前可以来联网突然不能访问外网,在网上看了很多方法,终于解决 问题描述: 连上网,但是ping 不同外网,如ping www.baodu ...
- kubernetes搭建(可访问外网环境部署)
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文链接地址:https://www.cnblogs.com/wannengachao/p/11947621.html 一.前 ...
- 本地虚拟机NAT模式下怎么设置才可以访问外网
记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...
- VirtualBox中安装的CentOS开启SSH并设置访问外网
1.全局设置NAT网络 打开VirtualBox->管理->全局设定 网络->添加按钮->添加一个NAT网络(使用默认的就行,不用改动) 2.设置用来本机于VirtualBox ...
- deepin(debian)中双网卡上内外网的设置方法(通过NetworkManager运行脚本)
国产良心操作系统deepin,界面好看,反应速度快,开箱即用,深度商店里有非常多好用的linux.windows软件,其windows软件通过crossover进行运行,还可以运行一些安卓的apk程序 ...
随机推荐
- 【C++ STL 优先队列priority_queue】
https://www.cnblogs.com/fzuljz/p/6171963.html
- ES6中let和var的区别
通过var定义的变量,作用域是整个封闭函数,是全域的 .通过let定义的变量,作用域是在块级或是子块中. 变量提升现象:浏览器在运行代码之前会进行预解析 -不论var声明的变量处于当前作用域的第几行, ...
- 【mysql】一对一关系的理解,以及Navicat Premium怎么设置字段的唯一性(UNIQUE)?
背景:一对一关系设计方法: 设计2张表:customer表,student表 学生表中通过字段customer_id与customer表产生关系. student表中的customer_id与cust ...
- 安装mysql出现Couldn't find MySQL server (/usr/bin/mysqld_safe)
安装mysql出现Couldn't find MySQL server (/usr/bin/mysqld_safe)Starting MySQL ERROR! Couldn't find MySQL ...
- diff()函数
1 diff()是将原来的数据减去移动后的数据. 在numpy和pandas中都能调用. pandas的调用方法: import pandas as pd df = pd.DataFrame( {'a ...
- 2018.03.29 python-matplotlib 图表生成
'''Matplotlib -> 一个python版的matlab绘图接口,以2D为主,支持python,numpy,pandas基本数据结构,高效图标库''' import numpy as ...
- 通俗易懂的理解 Redux(知乎)
1. React有props和state: props意味着父级分发下来的属性[父组件的state传递给子组件 子组件使用props获取],state意味着组件内部可以自行管理的状态,并且整个Rea ...
- axios入门使用
vue项目中axios的基本使用和简单封装 axios中文文档官网 http://www.axios-js.com/docs/ 一:不封装直接使用 npm install axios 在main.js ...
- linux 查看汉字编码方式
hexdump -C b.bcp 09 为\t 0a 为\n 一个汉字占三位为utf-8 占两位的不对
- 第四周课程总结&第二次实验报告
实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性 ...