2018-1-25 7周4次课 iptables

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 -P FORWARD ACCEPT

(FORWARD策略可接受)

$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

(增加规则:-m state 指定状态,--state 状态为RELATED,ESTABLISHED,不加RELATED可能导致其他通信被禁,-j 操作为接受 )

$ipt -A INPUT -s 192.168.65.0/24 -p tcp --dport 22 -j ACCEPT

(增加规则:网段为192.168.65.0/24,端口为22的数据包放行)

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

(80端口数据包放行)

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

(21端口数据包放行)


·实际操作:

[[email protected] ~]# sh /usr/local/sbin/iptables.sh
[[email protected] ~]# iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
28  1848 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
0     0 ACCEPT     tcp  --  *      *       192.168.65.0/24      0.0.0.0/0            tcp dpt:22
0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 15 packets, 1412 bytes)
pkts bytes target     prot opt in     out     source               destination
[[email protected] ~]# iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
32  2112 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
0     0 ACCEPT     tcp  --  *      *       192.168.65.0/24      0.0.0.0/0            tcp dpt:22
0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 18 packets, 2568 bytes)
pkts bytes target     prot opt in     out     source               destination
[[email protected] ~]# service iptables restart
Redirecting to /bin/systemctl restart iptables.service
[[email protected] ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
10   660 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 6 packets, 792 bytes)
pkts bytes target     prot opt in     out     source               destination


·icmp示例:

禁掉icmp:

[[email protected] ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP





10.16 iptables nat表应用(上)

技术分享图片技术分享图片


需求:

A:两块网卡,一块可以上外网,一块用内网

B:只有一块内网网卡

让B机器可以连外网


准备工作:

准备两个虚拟机

给两台虚拟机做快照

给A机器添加网卡:

技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

技术分享图片

设置LAN区段,等效于设置连接的交换机(名称可以任取)

技术分享图片技术分享图片

技术分享图片

技术分享图片


同样方式给B机器添加网卡,并把B机器原先网卡给禁用

技术分享图片技术分享图片


LAN区段选择和A机器一样的,意味着,此时A机器的第二块网卡和B机器的第二块网卡已经连在同一个交换机上

技术分享图片技术分享图片


进入A机器,可以开到新增的网卡,名称为ens37

技术分享图片技术分享图片


给新网卡设置新ip(ifconfig ens37 192.168.100.1/24,此ip重启后消失,新建网卡配置文件重启后ip不变)

技术分享图片技术分享图片


同样的方法,设置B机器的网卡(因为B机器网卡没有配置,所以无法远程连接,只能在虚拟机上操作)

技术分享图片技术分享图片

如上图,两台机器已经可以连通。

准备工作已经完成。





10.17 iptables nat表应用(中)


windows主机无法ping同两台虚拟机所添加的网卡

技术分享图片技术分享图片


B机器也无法联网

技术分享图片技术分享图片


在A机器上打开端口转发echo "1" > /proc/sys/ipv4/ip_forward(0为关闭,1为打开)

技术分享图片技术分享图片


A机器上增加一条规则iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

技术分享图片技术分享图片


B机器设置网卡192.168.100.1,数据包从B到A通路

技术分享图片技术分享图片


B机器已经可以连A机器第一块网卡

然后编辑公共DNS

vi /etc/resolve.conf

技术分享图片技术分享图片


但是ping不通DNS 119.29.29.29

技术分享图片技术分享图片


查了写资料和其他人的处理方法,把iptables规则重新添加一次,再返回B机器就能连通了

技术分享图片技术分享图片

技术分享图片技术分享图片


能ping通DNS也就是说可以连接外网了

技术分享图片技术分享图片


可以连外网,但是依然连不了内网

技术分享图片技术分享图片

这就是一个路由器的路由器,A机器就是路由器





10.18 iptables nat表应用(下)


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


虽然无法连接192.168.100.100,但是可以连接A机器192.168.65.128,可以做一个跳转到B机器192.168.100.100

把A机器192.168.65.128的某端口(我们设置为1122),映射为B机器上192.168.100.100的22端口


第一步:打开端口转发echo "1" > /proc/sys/net/ipv4/ip_forward

技术分享图片技术分享图片


第二步:删除iptables规则

技术分享图片技术分享图片


第三步:增加iptables规则

iptables -t nat -A PREROUTING -d 192.168.65.128 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

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


参考:http://man.linuxde.net/iptables

          http://blog.chinaunix.net/uid-26495963-id-3279216.html


以上是关于2018-1-25 7周4次课 iptables的主要内容,如果未能解决你的问题,请参考以下文章

2018.1.26 7周5次课

2018.1.24 7周3次课

2018-1-26 7周5次课

2018.3.7 11周2次课

2018.4.10 15周5次课

2018.1.9 5周2次课