iptables小案例
来源:互联网 发布:latex mac 编辑:程序博客网 时间:2024/05/21 08:45
iptables 小案例
需求 :只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.137.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口。
这需求不复杂,但是有许多条规则,写成脚本形式。
脚本内容:#! /bin/bashipt="/usr/sbin/iptables" //定义一个变量(关于iptables命令的绝对路径)$ipt -F //删除规则$ipt -P INPUT DROP // filter表INPUT链丢包$ipt -P OUTPUT ACCEPT //flter 表OUTPUT链允许包$ipt -P FORWARD ACCEPT //filter 表的FORWARD链允许包$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //添加规则对RELATED,ESTABLISHED状态进行放行$ipt -A INPUT -s 192.168.137.0/24 -p tcp --dport 22 -j ACCEPT //添加规则对INPUT表的来源 192.168.137.0/24网段的22端口放行$ipt -A INPUT -p tcp --dport 80 -j ACCEPT //对全网段80端口放行$ipt -A INPUT -p tcp --dport 21 -j ACCEPT //对全网端的21端口放行
2.关于icmp包(ping本机不同,ping外网能通)
iptables -I INPIUT -p -icmp --icmp-type 8 -j DROP
iptables nat表的应用
(将A机器做个路由器)
给A机器添加一块网卡
选择LAN区段
给B机器添加网卡LAN区段
给A机器网卡设置IP(ens37 192.168.100.1)
编辑ens37 的配置文件
/etc/sysconfig/network-scripts/ifcfg-ens37TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens37UUID=d23205fd-677c-4490-92f0-dd3d07af7abfDEVICE=ens37ONBOOT=yesIPADDR=192.168.100.1NETMASK=255.255.255.0
保存退出后重启网络服务
[root@shuai-01 network-scripts]# service network restart
查看网卡ip
[root@shuai-01 network-scripts]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.176.135 netmask 255.255.255.0 broadcast 192.168.176.255 inet6 fe80::16f5:8ee4:b971:e6fb prefixlen 64 scopeid 0x20<link> ether 00:0c:29:a1:0e:2c txqueuelen 1000 (Ethernet) RX packets 735 bytes 66440 (64.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 592 bytes 74403 (72.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.176.150 netmask 255.255.255.0 broadcast 192.168.176.255 ether 00:0c:29:a1:0e:2c txqueuelen 1000 (Ethernet)ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::2224:2bb4:6539:1022 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:a1:0e:36 txqueuelen 1000 (Ethernet) RX packets 80 bytes 27360 (26.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 218 bytes 36144 (35.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 76 bytes 6204 (6.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 76 bytes 6204 (6.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
B 机器设置IP(ens37 192.168.100.100)
ifconfig ens37 192.168.100.100
A机器pingB机器
[root@shuai-01 network-scripts]# ping 192.168.100.100 PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data. 64 bytes from 192.168.100.100: icmp_seq=1 ttl=64 time=0.668 ms 64 bytes from 192.168.100.100: icmp_seq=2 ttl=64 time=0.261 ms 64 bytes from 192.168.100.100: icmp_seq=3 ttl=64 time=0.471 ms ^C --- 192.168.100.100 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.261/0.466/0.668/0.168 ms
B机器pingA机器 都能通
要使B机器能连上外网
A机器打开路由转发(/proc/sys/net/ipv4/ip_forward为0表示没打开)[root@shuai-01 network-scripts]# cat /proc/sys/net/ipv4/ip_forward0[root@shuai-01 network-scripts]# echo "1" > /proc/sys/net/ipv4/ip_forward[root@shuai-01 network-scripts]# cat /proc/sys/net/ipv4/ip_forward1
B机器上设置网关(A机器的ens37网卡做网关192.168.100.1)
查看网关route -n
添加网关:
route add default gw 192.168.100.1
这是B机器就能ping通外网了。
需求
两台机器之间不能直接通信要借助另一台机器,
任意两台机器之间要通信,要有源IP,目的IP。c和a 不能直接通信,a 和 b 能通信, b和 c能通信。c要想和 a 通信,从c出去的给a的包经过b时要改变源地址(改成b的地址),从a 发出来给c的包要经过b时要改变目的地址(改成c的地址)
在A机器上加两条规则[root@shuai-01 ~]# iptables -t nat -A PREROUTING -d 192.168.176.135 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22[root@shuai-01 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.176.135
B机器添加网关
阅读全文
0 0
- iptables小案例
- iptables filter表小案例
- linux学习第三十篇:iptables filter表小案例,iptables nat表应用
- iptables案例:iptables搭建路由器
- iptables+balance 使用案例
- iptables案例:使用iptables搭建路由器
- Linux iptables 端口 映射案例
- 小案例
- iptables 小练
- iptables小总结
- Linux 防火墙iptables (三)iptables常用基本案例
- iptables案例:iptables把内网web服务映射到外网
- iptables filter表案例和iptables nat表应用
- iptables filter表案例、iptables nat表应用
- iptables DNAT功能介绍及案例分析
- Linux--netfilter/iptables+squid综合案例分析
- iptables及tcpdump实战应用案例
- 嵌入式 iptables防火墙实际使用案例解析
- Android 自定义圆形进度条
- centos 更换源之后yum下载失败
- Django学习(1)一首情诗
- python flask中HTTP方法methods=['GET','POST']
- python的callable()函数
- iptables小案例
- 文章标题
- Kali linux渗透测试第一步:侦查
- 正则表达式
- 7.3
- Android_购物车实现输入加减功能
- Markdown语法
- 组合数的代码实现
- 文章标题