Ubuntu Server 12.04:如何在安装期间配置防火墙?

Ubuntu Server 12.04:如何在安装期间配置防火墙?

我正在跟进指示使用 kickstart 自动安装 Ubuntu Server 12.04。它可以很好地自动对驱动器进行分区、选择语言等。但是,它不会配置防火墙。它是一个已知问题

在没有防火墙的情况下运行并不是一个好主意。如何在安装过程中配置 UFW 防火墙以防止未经授权访问服务器?

我的 kickstart 文件如下所示(仅更改了用户名)

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/Los_Angeles
#Root password
rootpw --disabled
#Initial user
user johnd --fullname "John Doe" --iscrypted --password <omitted>
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel 
#Disk partitioning information
part / --fstype ext4 --size 1 --grow 
part swap --recommended 
#System authorization infomation
auth  --useshadow  --enablemd5 
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --enabled --trust=eth0 --ssh 
#Do not configure the X Window System
skipx

更新

我在上面的文件中添加了以下内容:

%post
mkdir /usr/sample
ufw enable
ufw allow 22

安装后,目录/usr/sample存在,但防火墙仍然被禁用,不允许访问端口 22。

答案1

您可以使用%postkickstart 文件的(安装后)部分来运行防火墙规则,甚至创建一个基本的防火墙脚本。

我发现,在这个地点安装后配置的使用示例。以及这里您对如何实现您的目标有另一种解释。

编辑%post建议:

%post
mkdir /usr/sample
sed -i 's/^\(ENABLE=\s*\).*$/\1yes/' /etc/ufw/ufw.conf
sed -i 's/^COMMIT/-A ufw-before-input -p tcp --dport 22 -j ACCEPT\n\nCOMMIT/' /etc/ufw/before.rules
ufw status verbose > /usr/sample/ufw_out.log

试试看这是否可行。可能有点过头了,但如果可行,可能是一个不错的解决方法。

相关内容