1、iptables filter 表的应用
需求:针对filter表,预设策略INPUT和DROP,其他两个链ACCEPT,然后针对192.168.188.0/24开通22端口,对所有网段开通80端口,对所有网段开通21端口。规则较多,编写脚本实现。
先对ipt 定义一个变量,给他加载路径。然后按照需求将规则加入。其中 $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 的目的是让通信更顺畅。
2、 icmp包的应用 --icmp-type 要和 -p icmp 一起使用,后面指定类型编号。 8 在这指本机可以ping通其他机器,其他机器不能ping通本机。
3、iptables nat 表应用。
1)首先为两台虚拟机A和B各添加一块网卡。编辑虚拟机--》设置--》网络适配器-->添加--.网络适配器--》下一步--》完成,
然后选中新添加的网卡--》LAN区段--添加一个交换机-->然后在选中交换机,注意:两个新增网卡都选中同一个交换机。
2)两个新增网卡设置IP。可以通过复制原有网口的配置文件,修改后重启网络生效,也可以通过ifconfig 直接添加IP,只是临时有效,重启后消失。
A 机器添加IP ens33 192.168.134.150 ens37:192.168.100.1
B机器添加IP,为了方便关掉ens33 ens37:192.168.100.100
3)两块新增网卡互ping,保证都能互相ping通。
4)A机器上打开路由转发功能。 /proc/sys/net/ipv4/ip_forward 文件内容的值需要是 1.默认是0.
5)A机器上增加一条规则 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens37 -j MASQUERADE, 让192.168.100.0可以上外网。
6)B机器添加网关 命令: route add default gw IP 命令 route -n可以 查看网关信息 ,我的虚拟机网关是192.168.134.2
6)B机器增加DNS ,ping DNS
7)此时B机器还没法上外网,需要先删除上一条 iptables -t nat -A POSTROUTING -s 192.168.100.1/24 -o ens33 -j MASQUERADE 规则
新增两条规则
iptables -t nat -A PREROUTING -d 192.168.134.150 -p tcp –dport 1122 -j DNAT –to 192.168.100.100:22,这条规则主要是给进来的包做端口转发,将1122端口转发到22端口
iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT –to 192.168.134.150 这条规则主要是给出去的包做SNAT,让出去的包指向192.168.134.150,这样才能被识别。
8)这时B机器就可以上外网了,可以在xshell通过登录 192.168.134.150,端口1122, 跳转到192.168.100.100上。
也能ping 通外网