路径 /etc/sysconfig/iptables
Ubuntu iptables配置:
1、Ubuntu 默认有装iptables,可通过dpkg -l或which iptables确认
2、Ubuntu默认没有iptables配置文件,需通过iptables-save > /etc/network/iptables.up.rules生成
3、iptables配置文件路径及文件名建议为/etc/network/iptables.up.rules,因为执行iptables-apply默认指向该文件,也可以通过-w参数指定文件
3、Ubuntu 没有重启iptables的命令,执行iptables-apply生效
4、Ubuntu iptables默认重启服务器后清空,需在/etc/network/interfaces里写入pre-up iptables-restore < /etc/network/iptables.up.rules才会开机生效
几个iptables命令:
允许所有访问22端口:
# iptables -A INPUT -p tcp —dport 22 -j ACCEPT
拒绝所有访问22端口:
# iptables -A INPUT -p tcp —dport 22 -j DROP
只允许10.0.0.2访问22端口:
# iptables -A INPUT -p tcp —dport 22 -s 10.0.0.2 -j ACCEPT
注:允许策略一定要写到拒绝的上面,否则没用
查看iptables策略:
# iptables -L
保存策略到指定文件(后面文件路径及文件名可自定义):
# iptables-save > /etc/network/iptables.up.rules
应用策略:
iptables-apply
输入y
删除策略(需先cat /etc/network/iptables.up.rules确认删除第几行,或者直接操作/etc/network/iptables.up.rules文件也行):
iptables -D INPUT 2
端口开放
当ubuntu系统上有某个程序与外界的程序进行通信时,那么就要为这个程序分配一个端口,那么外界程序就可以通过这个端口与其通信了。但是ubuntu系统默认都是没有对外开放端口的。我最近写了一个socket服务端需要给一个端口,为了外界程序访问这个端口,那么,我们需要在ubuntu上设置一下:
1.查看已经开启的端口
$ sudo ufw status
1
2.打开端口
$ sudo ufw allow 9123
1
3.开启防火墙
$ sudo ufw enable
1
4.重启防火墙
$ sudo ufw reload
1
5.再次查看一下端口是否已开放
$ sudo ufw status
Status: active
To Action From
— ——— ——
9123 ALLOW Anywhere
9123 (v6) ALLOW Anywhere (v6)
[
](https://blog.csdn.net/weixin_40763897/article/details/110202885)
