文档章节

iptables案例,NAT表应用

阿想
 阿想
发布于 2017/08/21 17:27
字数 829
阅读 12
收藏 0

10.15 iptables filter表案例

10.16/10.17/10.18 iptables nat表应用

扩展

  1. iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率 http://www.aminglinux.com/bbs/thread-985-1-1.html

10.15 iptables filter表案例

  • service iptables save 保存 restart 重启
  • iptables 参数
    • -F 清空规则 -Z 清空计数器
    • -nvL 查看
    • -A 规则放后面 -I 放前面 -D 扔
    • INPUT OUTPUT
    • -p 协议(tcp udp)
    • -s 源IP --sport 源端口 -d 去IP --dport 去端口 -i 接收网卡 -o 发送网卡
  • policy 修改 iptables -P INPUT DROP 注意会导远程终端断开,且iptables -F不会恢复,需要改回ACCEPT

**需求案例:**服务器的22端口可以被192.168.83网段访问,再放行80、21端口。其他禁止

  • 脚本实现
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
#由于是脚本执行所以会执行完全部命令
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-m是指定检测状态,--state指定数据包状态(配合-m使用),该命令行的目的是使数据处理(通信)更顺畅
$ipt -A INPUT -s 192.168.83.0/24 -p tcp --dport 22 -j ACCEPT
#对指定源网段放行22端口(用于远程)
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT


  • 要保证远程设备终端的网段为规则网段。否则将无法继续远程

  • 外网不能往里ping,里往外可以

[root@axiang ~]#iptables -I INPUT -p icmp --icmp-type 8 -j DROP

10.16 -10.18 iptables nat表应用

NAT伪装

**场景:**A机器两块网卡ens33(192.168.83.131)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。

添加网卡 添加虚拟内网

  • 需求1:可以让B机器连接外网
  • 思路:A开启内核转发功能,NAT伪装,B设置网关及DNS

A:

[root@axiang ~]# ifconfig ens37 192.168.100.1/24
[root@axiang ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@axiang ~]# echo "1" > !$	开启内核转发
echo "1" > /proc/sys/net/ipv4/ip_forward
[root@axiang ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@axiang ~]# iptables -t nat -nvL
[root@axiang ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
#NAT表增加转发:对源自192.168.100.0/24网段。转给ens33端口,加工方式:伪装
[root@axiang ~]# iptables -t nat -nvL
...
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      ens33   192.168.100.0/24     0.0.0.0/0           

B:

route add default gw 192.168.100.1 #网关指向100.1(如果有别的网口,先ifdown掉)
vi /etc/resolv.conf ##配置DNS
增加一行nameserver 119.29.29.29

效果:B可以ping通外网,物理主机C的虚拟网卡(192.168.83.1)不能ping通B

NAT转换

需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口

思路:NAT网址转换

A开启内核转发功能,B设置网关及DNS 同上

A:

[root@axiang ~]# iptables -t nat -A PREROUTING -d 192.168.83.131 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
#当有IP包通过TCP访问A的1122端口,则将该IP目的转为访问B的22端口
[root@axiang ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.83.131
#当有源自B的IP包需要转发,则将IP包的源改为A

效果:

注意访问A的IP的1122端口!不是B的。有时候需要重启物理网卡

© 著作权归作者所有

共有 人打赏支持
阿想
粉丝 0
博文 72
码字总数 69742
作品 0
私信 提问
10.15 iptables filter表案例 10.16/10.17/10.18 iptable

七周四次课 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 打开端口转发, 调整内核参数 增加一条...

wb_rambo123
01/26
0
0
10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

15 iptables filter表案例 iptables小案例 vi /usr/local/sbin/iptables.sh //加入如下内容 执行: sh /usr/local/sbin/iptables.sh icmp示例 iptables -I INPUT -p icmp --icmp-type 8 -j D......

夜归人8421
01/25
0
0
Day32 iptables filter表案例、iptables nat表应用

iptables filter表案例 介绍两个以后可能会用到的,关于iptables filter表案例 案例一、需求(将指定端口放行) 指定端口 80、21、22放行,且22要指定一个ip段 为了实现这个需求,我们要写一...

杉下
07/14
0
0
​七周四次课(5月9日)iptables filter表案例、iptables nat表应用

15 iptables filter表小案例 输入如下的内容: #! /bin/bash ipt="/usr/sbin/iptables" $ipt -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m state......

吕湘颖
05/07
0
0
2018-1-25 7周4次课 iptables

10.15 iptables filter表小案例 #! /bin/bash ipt="/usr/sbin/iptables" $ipt -F (清控规则) $ipt -P INPUT DROP (INPUT策略DROP掉) $ipt -P OUTPUT ACCEPT (OUTPUT策略可接受) $ipt -......

alexis7gunner
01/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
23分钟前
1
0
Java开发Swing实战JFrame和JTabbedPane容器的用法详细解析

概述: 项目是一个桌面程序,涉及标签和按钮组件、布局管理器组件、面板组件、列表框和下拉框组件等组件,以及Swing事件处理机制。 下面先从最基础的界面开始。 /** * @author: lishuai * @...

金铭鼎IT教育
28分钟前
9
0
flask 之旅

环境 为了正确地跑起来,你的应用需要依赖许多不同的软件。 就算是再怎么否认这一点的人,也无法否认至少需要依赖Flask本身。 你的应用的运行环境,在当你想要让它跑起来时,是至关重要的。 ...

hblt-j
28分钟前
6
0
easyui的上传文件

记录一下自己亲手操刀easyui的心得:不用不知道,一用就问题多,网上查资料,有用的真的太少了 ——————————————————正文 FileBox,还是不错的讲真,至少我去自己写就gaga了...

anlve
30分钟前
4
0
如何做好SQLite 使用质量检测,让事故消灭在摇篮里

本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验。 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈。这种方式问题是: ...

腾讯云加社区
32分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部