Ubuntu 的ufw防火墙
1.防火墙和端口
# ubuntu的防火墙和端口,一般ufw 和iptables两大类
sudo ufw status # 查看防火墙的状态
sudo ufw enable # 开机自启
sudo ufw default deny # 关闭外部全部访问
## 新增端口
sudo ufw allow 8080
## 删除端口
sudo ufw delete allow 8080
## 允许特定来源ip的访问
sudo ufw allow from 192.168.1.199
# iptables下的一般使用
## 添加iptables允许|关闭 端口
参数:-A 追加规则
-D 删除规则
-I 插入
-R 修改
-L 查看规则
-N 新的规则
-p rotocol
-m module_name
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --drop 端口号 -j DROP # 关闭端口
iptables -L -n #添加的情况记录
2.检查网络
## 查看允许的网络
netstat -tunlp # 显示tcp、udp的端口清空
netstat -tunlp |grep 端口号 #查看端口情况
## lsof的命令
lsof -i:22 #查看端口占用情况
lsof -i tcp:22 #查看协议对应的端口
lsof -g gid #显示归属gid进程情况
lsof -c abc #显示开启文件abc.txt的进程
lsof +d /usr/loca/ #显示目录下被进程开启的文件
3.ubuntu18.04 - 修改网卡名称
#修改默认网卡名
sudo vim /etc/default/grub
## 修改内容 GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
# 更新grub
sudo update-grub
# 服务重启
sudo init 6
Docker模式:
1.Docker部署时,只有tcp6没有tcp,即只支持ipv6 情形
# 针对docker映射的端口,只有ipv6方式才能访问,ipv4没法访问
sudo vim /etc/sysctl.conf
## 添加或修改内容:
net.ipv4.ip_forward = 1
# 加载环境
sysctl -p /etc/sysctl.conf
## 操作完成,通过netstat -tunlp|grep 8080 ,镜像端口可能仍然显示tcp6,但已经可以通过ipv4地址访问了
2.对启动docker需要指定主机IP
ufw 拦截不住 Docker映射出来的端口:
## 启动容器的时候,指定宿主机的ip地址
docker run -itd -p 127.0.0.1:3306:3306 -name tomcat8 \
-v /usr/local/docker/tomcat/logs:/usr/local/tomcat/logs \
-v /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webapps \
tomcat:8.5
iptables的防火墙配置
1. iptables的配置
# 1.安装iptables
apt-get install -y iptables
# 2.检查iptables端口开放情况
iptables -L
iptables -L -n
# 3.配置iptables模板
vim /etc/iptables/iptables.test.rules
### 添加内容
# Generated by iptables-save
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-I INPUT -p tcp --dport 8080 -j ACCEPT
-I INPUT -p udp --dport 8080 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed
# 加载规则
iptables-restore < /etc/iptables.test.rules
# 开机启动
vim /etc/network/if-pre-up.d/iptables
### 添加内容
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.test.rules
root@localhost:/home# chmod +x /etc/network/if-pre-up.d/iptables
2. debain的凝思版本开放端口
# 1. 修改的配置文件
vim /etc/rc.local
## 在exit 0 上面添加规则
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 23306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 12443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 23306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 19000 -j ACCEPT
#/sbin/iptables -A INPUT -p udp -m udp --sport 1900 -j DROP
#/sbin/iptables -A INPUT -p udp -m udp --dport 1900 -j DROP
## 重启让他生效
source /etc/rc.local