1 拒绝所有主机ping我
iptables -A INPUT -p icmp --icmp-type 8 -j REJECT
# ping走的icmp协议 type 8 是请求报文 type 0 是响应报文, 这条可以实现别人ping不通我,但我可以ping通别人
iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destinatio
#这里有的人可能会疑惑,目标和源都是0,那自己是怎么ping出去的,因为,别人ping自己 是通过INPUT这个链,自己ping别人,是通过OUTPUT链出去的,而我的output链没有任何规则,所以output出去的请求就畅通无阻了,同时由于我只进行了input链的请求限制,所以别人的机器对我ping的回应包是可以进行响应的
2 本机能够访问别的机器的HTTP服务,但是别的机器无法访问本机
iptables -A INPUT -p tcp --dport 80 -j REJECT
#此条命令可以实现,但你会发现自己也无法访问自己的http服务了,所以更好的规则应该是
iptables -I INPUT ! -s `hostname -I` -p tcp --dport 80 -j REJECT
#但有个前提就是 你只有一块网卡
3 当我们发现有 ip 恶意攻击我们得时候,我们可以通过对防火墙设定规则来进行控制。所以我们可以添加connlimit模块来实现对最大并发得控制。请写出步骤
iptables -A INPUT -d 10.0.0.18 -p tcp --dport 22 -m connlimit --connlimit-above 1 -j REJECT
#这条命令就是,同一台主机只能由1个连接我得 ssh端口
iptables -A INPUT -p icmp -m connlimit --connlimit-above 10 -j REJECT
#同理
4 配置相关规则链接进公司内网
主机名 | ip地址 | 充当角色 |
---|---|---|
A7 | 192.168.1.128(仅主机)eth0 | 互联网服务器 |
A8 | 192.168.1.129(仅主机eth1 10.0.0.8(NAT)/eth0 NAT设备他有一个是链接外网的ip有一个是链接内网的ip | 防火墙NAT设备 |
B8 | 10.0.0.18(NAT)eth0 | 局域网服务器 |
现在我在外地出差使用A7互联网主机,但是现在由于公司有业务需要我 ssh 链接到内网、这时候
我就链接我们公司同事在防火墙上配置相关规则让我链接进公司内网
#思路 A7--->A8---DNAT--->B8
#还要在 A8上开启端口转发的内核参数才可以
## echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf ;sysctl -p ##开启路由转发
iptables -t nat -A PERROUTING -s 192.168.1.128 -d 192.168.1.129 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.18