路径 /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)