码迷,mamicode.com
首页 > 其他好文 > 详细

2018.1.25 7周4次课

时间:2018-01-26 00:24:01      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:连接   复杂   技术   ip地址   针对   mil   put   res   b2b   

七周四次课(1月25日)

10.15 iptables filter表案例

10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例

需求:只针对filter表,预设策略INPUT链DROP, 其他两个链ACCEPT,然后针对192.168.37.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口。

这个需求不算复杂,但是因为有多条规则,所以最好写成脚本的形式。脚本内容如下:

vi /usr/local/sbin/iptables.sh //加入如下内容

#! /bin/bash

ipt="/usr/sbin/iptables" //定义一个命令的变量

$ipt –F //清空以前的规则

$ipt -P INPUT DROP //定义默认INPUT策略

$ipt -P OUTPUT ACCEPT //定义默认OUTPUT策略

$ipt -P FORWARD ACCEPT //定义默认FORWARD ACCEPT策略

$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //指定包的连接状态RELATED,ESTABLISHED放行

$ipt -A INPUT -s 192.168.37.0/24 -p tcp --dport 22 -j ACCEPT //192.168.37.0/24网段的22端口放行

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT //80端口数据包放行

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT //80端口数据包放行

技术分享图片

icmp示例

iptables -I INPUT -p icmp --icmp-type 8 -j DROP

这里--icmp-type选项要跟-p icmp—起使用,后面指定类型编号。这个8指的是能在本机ping通其他机器,而其他机器不能ping通本机

10.16/10.17/10.18 iptables nat表应用

其实,Linux的iptales功能是十分强大的。一位老师曾经这样形容Linux的网络功能:只有想不到,没有做不到!也就是说,只要你能够想到的关于网络的应用,Linux都能帮你实现。你在日常生活中应该接触过路由器,它的功能就是分享上网。本来一根网线过来(其实只有一个公网IP),通过路由器后,路由器分配一个网段(私网IP),这样连接路由器的多台pc都能连接因特网,而远端的设备认为你的IP就是那个连接路由器的公网IP。这个路由器的功能其实就是由Linux的iptables实现的,而iptales又是通过nat表作用而实现的。

nat表应用

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

  1. 需求1:可以让B机器连接外网

  • 在虚拟机A机器上添加一块网卡,在虚拟机B机器上添加一块网卡。

虚拟机A网卡

技术分享图片

  • 设置虚拟机A上的ens37网卡IP地址

技术分享图片

这种设置系统重启后,IP地址就没有了。

技术分享图片

  • 设置虚拟机B上的ens37网卡IP地址

技术分享图片

技术分享图片

  • A和B机器互通

技术分享图片

 

技术分享图片

 

宿主机无法ping通虚拟机A和B,虚拟机B无法访问外网

技术分享图片

 

技术分享图片

 

  • A机器上打开路由转发

技术分享图片

技术分享图片

 

  • A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

技术分享图片

 

  • B上设置网关为192.168.100.1

技术分享图片

 

技术分享图片

 

  • B机器连接外网

A机器清空filter表的规则

技术分享图片

技术分享图片

  宿主机无法ping通虚拟机A和B,虚拟机

技术分享图片

 

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

  • A机器上打开路由转发

技术分享图片

技术分享图片

 

  • 删除原有规则

技术分享图片

 

  • A机器上执行iptables -t nat -A PREROUTING -d 192.168.37.100 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

  • A机器上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.37.100

  • B机器上设置网关为192.168.100.1

  • 设置xshell,并连接

技术分享图片

能联通外网

技术分享图片


2018.1.25 7周4次课

标签:连接   复杂   技术   ip地址   针对   mil   put   res   b2b   

原文地址:http://blog.51cto.com/415326/2065255

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!