LiNUX20180509七周四次课(5月9日)IPTABLES

七周四次课(5月9日)

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.htmlhttp://jamyy.us.to/blog/2006/03/206.html

iptables filter表案例

-ipt是定义变量,这样不用每次都写绝对地址,以后写shell脚本的时候最好写据对路径

首先要把之前的规则清空,所以 -F

然后默认的策略定义  INPUT -DROP OUTPUT- ACCEPT FORWARD -ACCEPT

接着 添加规则 -A ,指定了状态是 related和established的,针对这些状态的数据放行。这一行主要是保证保持连接的状态。related是一个边缘的状态,没有这个的话,有可能其他的被禁掉了。这一行必须有。

接下里是把192.168.133.0/24网段的访问22端口的放行

然后是把80和21端口数据放行

iptables [-t 表名] <-A|I|D|R> 链名[规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源IP地址|源子网] [--sport 源端口号] [-d 目标IP地址|目标子网] [--dport 目标端口号] <-j 动作>

写脚本的目的就是连续操作,因为中间的某些操作有可能会断掉连接无法继续操作。

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # 允许被ping

iptables -I INPUT -p icmp --icmp-type 8 -j DROP 这个就是不允许被ping 但是可以ping外面

需要将service iptables restart后才能去操作icmp

操作完之后的效果就是iptables -I INPUT -p icmp --icmp-type 8 -j DROP 可以ping出去 其他ping不了它

iptables nat表应用 1

首先需要给虚拟机1新做一个网卡

然后给虚拟机2新建一个网卡,因为本身的网卡已经设置好IP等所以可以取消它启动时连接,第二块网卡也使用lan区段。也就是说想完成这个实验(一台机器一网卡内网,一个外网,另一个机器网卡内网,但是想上网)必须俩内网网卡在一个区段,使用同一个交换机。因为第二个虚拟机的网卡已经变化了,所以远程连接已经不行了。

接下来要给虚拟出来的网卡设定一个ip ens37

可以ifconfig 网卡 ip 来临时指定ip 如果想永久保存要修改配置文件

接着给另一台机器设置内网ip,因为没有办法登陆远程,只能直接从机器登陆,为了保险,ifdown再去关闭第一块网卡。

使用同样的命令 ifconfig 网卡 192.168.100.100/24,而且可以ping通之前那个机器的第二个内网网卡。这样前提条件都已经满足了。

iptables nat表应用(中)

准备工作已经就绪, 准备做实验。

首先A机器上需要打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward

默认 /proc/sys/net/ipv4/ip_forward这个文件的值是0,就意味着没有开启路由转发。

然后需要添加规则,实现上网。iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE 目的就是让100.0的网段上网。

然后给b机器设置网关。

192.168.100.1

route -n 查找网关,目前是没有网关的。

设置网关 route add default gw 192.168.100.1

B网卡可以pingA的外网ip就成功了。

然后理论上就可以连接外网了。

注意的几点:

1. A需要一个网卡连接外网,一个内网,B的内网网卡和A的内网在一个网段

2. A的内网IP作为B的内网网卡的网关来提供上网。

其实就是实现了一个路由器的功能

远程登陆B机器,通过映射到A机器的其他端口来实现。就是说访问A的1122端口,实际上访问的是B的22端口

第一步还是打开端口转发

第二步增加规则。在这时候需要先将之前的规则删除。

此时的nat表是空的

第二步需要加规则,prerouting这个就是把进来的包,转发到100.100:22

第三部是 回来的包,经过A机器再做一个

iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.202.123

第四部给B机器加网关

这时候应该就可以远程访问B机器了

原文地址:http://blog.51cto.com/13691454/2114644

时间: 2024-07-31 06:59:58

LiNUX20180509七周四次课(5月9日)IPTABLES的相关文章

七周四次课(1月25日)

七周四次课(1月25日)10.15 iptables filter表案例 需求 80 22 21端口放行 22端口需要指定一个ip段 ipt 定义一个变量 -F 清空原有规则 -P 默认规则 -m state --state RELATED,ESTABLISHED -j ACCEPT 3次握手4次挥手   把已建立通信和保持连接的通信的数据包放行,这条是必须有的指令 执行脚本 查看规则 iptables -I INPUT -p icmp --icmp-type 8 -j DROP 这个规则作用可

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课(12月29日)4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 [[email protected] ~]# [[email protected] ~]# mke2fs命令文件系统管理mke2fs命令被用于创建磁盘分区上的"etc2/etc3"文件系统. 语法:mke2fs(选项)(参数) 选项:-b<区块大小>:指定区块大小,单位为字节:-c:检查是否有损坏的区块:-f<不连续区段大小>:指定不连续区段的大小,单位为

四周第一次课(1月2日)

四周第一次课(1月2日)4.10/4.11/4.12 lvm讲解 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便

四周第一次课(1月2日) 4.10/lvm讲解 4.11/lvm讲解 4.12/lvm讲解 4.13 磁盘故障小案例

四周第一次课(1月2日)4.10/lvm讲解4.11/lvm讲解4.12/lvm讲解4.13 磁盘故障小案例 onnecting to 192.168.183.128:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Jan 2 19:34:17 2018[[email protected] ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP

四周第1次课(2月26日)

四周第一次课(2月26日)4.10/4.11/4.12 lvm讲解4.13 磁盘故障小案例 4.10lvm讲解(上) ctrl+u可以把8e删除掉. 创建物理卷 如果不知道安装包,可以根据命令查找安装包. 显示没有这个文件 需要输入一个命令 运行#pvcreate /dev/sdb1sdb有问题,运行df -h,显示sdb还在挂载. 运行命令#umount /mnt 给ext4签名 运行命令:#pvdisplay 4.12lvm讲解(中)运行命令pvs,更直观 创建卷组卷组信息 格式化成ext4

Linux 三周第一次课(4月2日)Linux,windows 互传文件 用户配置文件密码 组管理

三周第一次课(4月2日) 2.27linux和windows互传文件3.1 用户配置文件和密码配置文件3.2 用户组管理3.3 用户管理 Linux和windows文件互传 我通常使用的是ftp或者是其他文件管理方式 这里介绍一个办法,但是只能在xshell下使用, 安装 lrzsz工具包 安装好了之后就可以使用sz命令 +要传输的文件 如果是想从windows往linux传就可以使用 rz命令 overall 总结 可以使用xshell securecrt 不能使用putty 安装lrzsz工

Linux学习笔记第三周第一次课(2月5日)

2.27linux和windows互传文件 用xshell软件 #yum install -y lrzsz linux传到windows,命令为#sz a.txt 按提示保存到windows windows传到linux,命令为#rz 选择windows文件,之后保存到当前目录 3.1 用户配置文件和密码配置文件5 /etc/passwd用户账号密码文件,配置文件: 配置文件内容,以冒号分隔,共7列: 第一列,用户名: 第二列,密码全用X表示: 第三列,UID: 第四列,GID: 第五列,注释:

三周第一次课(12月25日)

2.27linux和windows互传文件 yum install -y lrzsz sz a.txt linux传到windows rz  windows传到linux当前目录 3.1 用户配置文件和密码配置文件 ls /etc/passwd cat /etc/passwd aming:x:1000:1000::/home/aming:/bin/bash (6个冒号分成7段) loginID:x:UID:GID:comment:home_directory:login_shell  用户名:代