网络基础(1)-IPTABLES 的简单使用

sin 2021-06-24 AM 635℃ 0条

参考

准备工作

重新安装一个新的Centos7系统,关闭firewalld,因为firewalld也是使用iptables规则。打开firewalld会自动生成很多iptables规则。

$ systemctl stop firewalld
$ iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 8 packets, 1194 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 8 packets, 1194 bytes)
 pkts bytes target     prot opt in     out     source               destination

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

Chain POSTROUTING (policy ACCEPT 13 packets, 1729 bytes)
 pkts bytes target     prot opt in     out     source               destination

Example.01 docker

首先看一下docker中iptables的使用,分别是nat表和filter表。raw和mangle表没有被docker使用。

$ yum install docker
$ systemctl start docker

iptables-1.jpg (3812×758) (github.com)

SNAT

我们用docker启动一个镜像,然后安装ping和tcpdump,结构如下。

iptables-2

docker0 和 ens33 之间数据转发需要打开ipforward

iptables-3.jpg

DNAT

重新启动一个镜像,映射一个1234端口到容器的5678

$ docker run -it --rm -p1234:5678 ubuntu bash

iptables-4.jpg

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~