iptables命令的坑
2023-12-25 13:09:05
这几天在修复漏洞发现,屏蔽端口和 ubuntu下面的 iptables存在一些坑
技术交流 http://idea.coderyj.com/
1. iptables -F
慎用会清空所有的链路包括ssh都登录不上
2. 补救办法添加端口
# 开启外部端口访问 22
iptables -A INPUT -p tcp --dport=22 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 添加docker所有用户访问 docker是在docker0的网卡上挂在不受ufw的限制
iptables -A DOCKER-USER -j RETURN
- 临时保存
iptables-save
重启之后会失效 - 永久保存
# 安装软件
apt install iptables-persistent
# 永久保存
iptables-save > /etc/iptables/rules.v4
# 永久保存2 这个我在公司服务器上试了没问题,但是在长沙项目现场试发现不行
iptables-restore < /etc/iptables/rules.v4
- 只允许某个ip访问
iptables -I DOCKER-USER -p tcp --dport 8848 -j DROP
iptables -I DOCKER-USER -s 172.16.1.0/24 -p tcp --dport 8848 -j ACCEPT
iptables-save
- 删除策略
# 删除序号为1的策略
iptables -D DOCKER-USER 1
- 查询docker的策略
iptables --line -nvL DOCKER-USER
- 查询所有策略
iptables -nL
一定要开启ssh端口访问
3.ufw 命令
# 允许某个ip访问
ufw allow from 172.16.1.0/24 to any port 10022
# 拒绝所有ip访问
ufw deny 10022
ufw default deny
ufw default deny incoming #默认禁止所有其它主机连接该主机
ufw allow from 172.25.146.0/24 to any app OpenSSH
ufw deny in on eth0 from 192.168.3.2
ufw deny from 192.168.3.2
ufw delete allow from 23.56.49.0/24
ufw delete deny from 23.56.49.0/24
ufw deny from 23.56.49.0/24 to any port 8848
ufw deny from 172.18.6.0/24 to any port 8848
ufw deny proto tcp from 172.18.6.0/24 to any port 8848
ufw delete 2
Rule updated
sudo ufw status numbered
4.iptables命令
1,iptables -nL(查看iptables列表)
链路中 有
RETURN all -- 0.0.0.0/0 0.0.0.0/0
2,iptables -D DOCKER-USER 1(删除上述RETURN的规则,但是 添加完后还要加回来)
3,iptables -A DOCKER-USER -s 172.16.1.136 -p tcp --dport 8848 -j ACCEPT(添加规则,允许172.17.1.1访问8082 。如果有多个需要允许的 请添加完再执行第4步,这玩意好像有先后顺序 碰到DROP就不往下走了)
4,iptables -A DOCKER-USER -p tcp --dport 8848 -j DROP(拒绝不信任的所有访问,也就是拒绝没有添加的ip访问8082,有多个 也是添加完再执行第5步)
5,iptables -A DOCKER-USER -j RETURN(将刚才删除的RETURN 本身就有的一条规则,这条很重要!)
6,iptables-save(保存规则)
一定要注意顺序!一定要注意顺序!一定要注意顺序!
iptables --line -nvL DOCKER-USER
# 删除iptables
iptables -D DOCKER-USER 1
iptables -I DOCKER-USER -p tcp --dport 8848 -j DROP
iptables -I DOCKER-USER -s 172.16.1.0/24 -p tcp --dport 8848 -j ACCEPT
iptables -A DOCKER-USER -j RETURN
iptables-save
23.56.50.4
23.56.50.6
23.56.100.11
# 永久保存
iptables-save > /etc/iptables/rules.v4
iptables --line -nvL DOCKER-USER
#永久保存
iptables-restore < /etc/sysconfig/iptables
iptables -I DOCKER-USER -i ext_if ! -s 172.16.1.0/24 -j DROP
iptables-restore < /etc/iptables/rules.v4
# 开启外部端口访问
iptables -A INPUT -p tcp --dport=22 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
tar -zxvf ./archives.tar.gz
mv ./archives /var/cache/apt/archives
apt update
# 安装软件
apt install iptables-persistent
iptables -I DOCKER-USER -p tcp --dport 8848 -j DROP
iptables -I DOCKER-USER -s 172.16.1.0/24 -p tcp --dport 8848 -j ACCEPT
iptables-save
# 加载deb
sudo dpkg -i xx.deb
ubuntu下载安装包
如果只想下载单个包
apt-get download iptables-persistent
下载包及依赖
方法1
首先安装sudo apt install apt-rdepends
apt-get download $(apt-rdepends your_package | grep -v "^ " | sed 's/debconf-2.0/debconf/g')
方法2
查看依赖
sudo apt-cache depends python
创建包目录
mkdir your_package&& cd your_package
下载依赖
$ for i in $(apt-cache depends python | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done
文章来源:https://blog.csdn.net/simplyou/article/details/135191890
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!