介绍

iptables概述:

netfilter/iptables : IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables 组成。

netfilter/iptables 关系:

netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。

iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。

IP地址规划

主机名 eth0 eth1 作用
firewalld 10.0.0.81 172.16.1.81 防火墙
m01 10.0.0.61 172.16.1.61 (ifdown) 批量管理

 m01通过内网网关(访问firewalld内网IP地址)进行地址转换,从而访问外网。

流程图:

防火墙服务安装部署

[root@firewalld ~]# yum install -y iptables-services  

[root@firewalld ~]# systemctl start iptables

修改m01网卡配置

因为是内网访问所以我们无需使用eth0,直接down就可以

[root@m01 ~]#  ifdown  eth0
[root@m01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=ae935876-ade9-4a88-b7d7-45fb1fc6d690
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.61
PREFIX=
GATEWAY=172.16.1.81 #网关是firewalld的内网IP地址
DNS1=223.5.5.5 #要有DNS解析,否则无妨上网

修改完需要我们重启eth1网卡:

[root@m01 ~]#  ifdown eth1 && ifup eth1
Device 'eth1' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)

修改firewalld的网卡配置

forward 表 负责转发流经主机的数据包,起转发的作用,和NAT关系很大

LVS NAT 模式,net.ipv4.ip_forward=0

[root@firewalld ~]# echo ""> /proc/sys/net/ipv4/ip_forward   #修改当前系统内存中ip_forward的值,这是开启ip转发
[root@firewalld ~]# cat /proc/sys/net/ipv4/ip_forward
[root@firewalld ~]# sysctl -p 或者:
[root@firewalld ~]# vim /etc/sysctl.conf
#最后一行加上
net.ipv4.ip_forward =
[root@firewalld ~]# sysctl -p

firewalld防火墙配置

POSTROUTING:  表示数据包在从一个接口要流出, 做一个地址映射
PREROUTING:   表示数据包在从一个接口要流入, 做一个地址转换
OUTPUT :  表示将防火墙自身产生的数据流量做地址或者端口转换

[root@firewalld ~]# iptables -t nat -A POSTROUTING  -s  172.16.1.61  -o eth0 -j SNAT  --to-source 10.0.0.81
#将172.16.1.61IP地址转换为10.0.0.
[root@firewalld ~]# service iptables save #保存设置,将上面的设置写入文件内

[root@m01 ~]# iptables-save #查看内容
# Generated by iptables-save v1.4.21 on Thu Dec ::
*nat
:PREROUTING ACCEPT [:]
:INPUT ACCEPT [:]
:OUTPUT ACCEPT [:]
:POSTROUTING ACCEPT [:]
-A POSTROUTING -s 172.16.1.61/ -o eth0 -j SNAT --to-source 10.0.0.81
COMMIT
# Completed on Thu Dec ::
# Generated by iptables-save v1.4.21 on Thu Dec ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
COMMIT
# Completed on Thu Dec ::

m01 进行测试:

[root@m01 ~]# ping  baidu.com
PING baidu.com (220.181.38.148) () bytes of data.
bytes from 220.181.38.148 (220.181.38.148): icmp_seq= ttl= time= ms
bytes from 220.181.38.148 (220.181.38.148): icmp_seq= ttl= time= ms
bytes from 220.181.38.148 (220.181.38.148): icmp_seq= ttl= time= ms
bytes from 220.181.38.148 (220.181.38.148): icmp_seq= ttl= time= ms

实验完成,最核心的是iptables的配置,需要用到nat表中的POSTROUTING

iptables内网访问外网 ε=ε=ε=(~ ̄▽ ̄)~的更多相关文章

  1. 利用iptables的NAT代理实现内网访问外网

    利用NAT代理实现内网访问外网 背景及原理 若局域网中的两台计算机只能有一台能够访问外网,而这两台计算机之间能相互通信,那么可以配置能访问外网的那台服务器实现路由器的功能,即实现其他机器的NAT转换, ...

  2. 医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网

    首先介绍下主要需求,很简单,就是要在医院his系统内嵌公司的平台,实现内网直接访问外网 这是院方给我提供的网闸相关配置,105是医院内网的服务器,120是外网的服务器,中间通过网闸配置的几个端口实现互 ...

  3. iptables之NAT代理-内网访问外网

    1.前言 本文使用NAT功能:内网服务器,想上网又不想被攻击. 工作原理:内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做 ...

  4. openWRT利用mac地址限制局域网内设备访问外网

    利用iptable设置防火墙: iptables -A INPUT -p tcp -m mac --mac-source 44:94:FC:25:68:8D --dport 80 -j DROP

  5. iptables内网地外网之间访问

    环境:一台带外网和内网的机器,另一台只有内网,默认不能上网.两台机器都是centos系统带外网机器的外网ip为 123.221.20.11, 内网网关ip为 192.168.15.100内网机器的内网 ...

  6. Docker 容器内无法通过 HTTP 访问外网

    现象 内/外网 IP 和 域名 可以 ping 通 容器内无法访问宿主机所在内网及外网的 Web 服务(404) 通过 curl 查看返回头信息感觉是所有 Web 请求被中转到一个固定的 Nginx ...

  7. 内网DMZ外网之间的访问规则

    当规划一个拥有DMZ的网络时候,我们可以明确各个网络之间的访问关系,可以确定以下六条访问控制策略. 1.内网可以访问外网 内网的用户显然需要自由地访问外网.在这一策略中,防火墙需要进行源地址转换. 2 ...

  8. 内网IP外网IP的关联及访问互联网原理

    首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的.但两个局域网内的内网IP可以有相同的. 外网:即互联网 ...

  9. Windows两个网卡配置路由规则 同时访问内网和外网

    电脑上有两个网卡,一个有线一个无线,有线连局域网,无线连外网,虽然两个网都连着,但还是会出现访问不通的情况. 这就要求我们自己来配置路由规则,让内网的访问走内网的网卡,外网的访问走外网的网卡. 一.查 ...

随机推荐

  1. 爱伪装(AWZ)/爱立思(ALS)改机改串一键新机原理分析

    简介 爱伪装(AWZ)/爱立思(ALS)是一款iOS越狱系统上的改机工具,可以修改多种系统参数达到伪装设备型号及各种软硬件属性的目的,同时提供了防越狱检测机制,常用于iOS上的推广刷量,配合代理/VP ...

  2. Eclipse新建新的工作空间,将原有的配置全部或部分复制

    1.部分复制 File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的. 2.全部复制(build path) 在1. ...

  3. webgoat8百度云下载链接

    网络不好的很难下载,网上也没什么好用的下载链接,我就上传了百度网盘,有需要的兄弟自己下. 链接:https://pan.baidu.com/s/1plTxkZUhSZm9vA5GGzYmMQ 提取码: ...

  4. so的封装和使用

    背景 在linux平台下,要实现函数的封装,一般采用的是so动态库的形式 实现了函数的封装就意味着实现过程的隐藏 可以实现跨平台和跨语言的使用 实施步骤 生成so动态库 编写相应的c文件代码,实现函数 ...

  5. (转)Jquery+Ajax实现Select动态定数据

    解决思路: 在数据库中建立类型字典式表.将下拉框需要添加的项,在数据库表里中文.英文名称对应起来. 下拉框动态绑定数据库表中需要字段. <div id="bgDiv" sty ...

  6. Laravel模板事项

    1.模板中己显示的时间,可以在此基础上增加时间 请于{{ $order->created_at->addSeconds(config('app.order_ttl'))->forma ...

  7. PTA(Basic Level)1006.Sign In and Sign Out

    At the beginning of every day, the first person who signs in the computer room will unlock the door, ...

  8. Windows文件共享配置与遇到的问题

    一.Windows 7 访问共享文件权限不足 问题 最近在 Windows 10 上共享了一个文件夹,并创建了一个用户,用于在别人访问该共享文件夹时进行认证,但是在一个同事的电脑(Windows7,当 ...

  9. python computer info look

    计算机信息查看-. import platform import platform def TestPlatform(): print("---------SYSTEM INFO------ ...

  10. L2-013. 红色警报(并查集+无向图联通分量)

    战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...