顯示具有 電腦-Linux-基本設定 標籤的文章。 顯示所有文章
顯示具有 電腦-Linux-基本設定 標籤的文章。 顯示所有文章

2023年8月10日 星期四

Ubuntu Linux server locale setting

Ubuntu Linux server 變更系統語言環境

Ubuntu Linux server 使用最小安裝後,發現系統語言環境不是en_US.UTF-8
使用以下步驟變更

1.檢查目前系統語言環境

# sudo locale
system locale status









2.编辑配置文件

修改為en_US.UTF-8,新增LANGUAGE="en_US:en"
# cat /etc/default/locale
locale c-utf




# sudo nano /etc/default/locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
edit defalut locale





重新啟動

3..安裝系統語言

重新啟動,檢查未生效
new locale status










檢查目前系統安裝的locale語言
# locale -a
locale check





沒有安裝en_US.UTF-8

4.安裝en_US.UTF-8

# sudo locale-gen en_US.UTF-8

locale gen install en.uft8




5.重新啟動後,設定正常

locale change to enutf8












Ubuntu Linux time setting

Ubuntu Linux 時間及校時設定

Ubuntu Linux安裝完成後預設為UTC時區,需進行設置為本地時間

時區timezone設定

使用timedatectl可以檢查主機目前的時區設置
# sudo timedatectl 
timedatectl status







使用timedatectl list-timezones 可以列出所有的時區。
# sudo timedatectl list-timezones | grep Taipei
使用timedatectl set-timezone設定時區
# sudo timedatectl set-timezone Asia/Taipei
檢查時間設定
# sudo timedatectl 
timedatectl set-timezone









網路校時設定

網路校時是使用timedatectl set-ntp功能讓系統自動校時
開啟網路校時
# sudo timedatectl set-ntp yes
timedatectl timezone status








timedatectl的校時功能是經由systemctl-timesyncd服務執行 
當set-ntp yes,等於執行systemctl enable --now systemd-timesyncd
當set-ntp no,等於執行systemctl disable --now systemd-timesyncd
# sudo systemctl status systemctl-timesyncd
systemctl status systemctl-timesyncd













可以編輯/etc/systemd/timesyncd.conf設定檔,指定網路校時的NTP主機。
# sudo nano /etc/systemd/timesyncd.conf
edit /etc/systemd/timesyncd.conf




NTP主機用IP或網站都可以,以空白分隔多個主機
NTP= time.stdtime.gov.tw clock.stdtime.gov.tw
備用NTP主機用IP或網站都可以,以空白分隔多個主機
FallbackNTP=tick.stdtime.gov.tw tock.stdtime.gov.tw watch.stdtime.gov.tw

重啟systemctl-timesyncd讓設定生效
# sudo systemctl restar systemctl-timesyncd
systemctl restar systemctl-timesyncd











檢查時間同步
# sudo timedatectl timesync-status
timedatectl timesync-status

 








關閉網路校時
# sudo timedatectl set-ntp no






參考資料:



2023年8月9日 星期三

Ubuntu Linux UFW 防火牆配置

Ubuntu Linux UFW 防火牆配置

Ubuntu Server 22.04 LTS 預設安裝UFW防火牆 ( Uncomplicated Firewall )。
UFW 是iptables的前端程式,它簡化了 iptable 複雜的指令及參數,讓使用者能快速上手。

UFW 基礎操作

狀態查詢
# sudo ufw status
ufw default status








啟動 UFW 服務,自動設定開機時啟用
# sudo ufw enable
ufw enable




停用 UFW 服務,自動設定且開機停用
# sudo ufw disbale
ufwdisable




UFW 服務預設狀態
# sudo ufw status
# sudo ufw status verbose
ufw enable status






成功啟動 (active),設定 UFW 預設允許、拒絕所有連線,並開啟log紀錄(/var/log/ufw.log)


UFW 規則設定

UFW 服務預設拒絕所有連線(deny)

如果要允許所有連線, 設定為 allow
# sudo ufw default allow
改回拒絕所有連線 deny
# sudo ufw default deny
ufw default rule status









為了主機安全性,請先設定拒絕所有連線,再依需求開啟設定。
UFW 可以依服務、port、ip網段進行設定。

服務設定

語法: ufw <allow/deny> <service name>
使用allow/deny來允許/拒絕指定的服務
UFW支援的服務項目,可以在/etc/services 查看

允許 ssh service連線
# sudo ufw allow ssh
拒絕 ssh service連線
# sudo ufw allow ssh

ufw allow ssh









通訊埠設定

語法: ufw <allow/deny> <port>/<protocol>
使用allow/deny來允許/拒絕指定的port,也可單獨指定tcp/udp連線

允許 port 80 連線,包含tcp/udp
# sudo ufw allow 80
允許 port 80 連線,只限定tcp
# sudo ufw allow 80/tcp
允許 port 80 連線,只限定udp
# sudo ufw allow 80/udp

拒絕 port 80 連線,包含tcp/udp
# sudo ufw deny 8080
拒絕 port 80 連線,只限定tcp
# sudo ufw deny 8080/tcp
拒絕 port 80 連線,只限定udp
# sudo ufw deny 8080/udp
ufw allow port













指定 IP/網段 

語法: ufw <allow/deny>  from <ip/subnet>
指定 IP或網段 允許/拒絕連線所有 port 

允許特定IP或網段連線 
# sudo ufw allow from 192.168.1.100
# sudo ufw allow from 192.168.1.0/24

拒絕特定IP或網段連線
# sudo ufw deny from 192.168.2.100
# sudo ufw deny from 192.168.2.0/24

ufw allow ip













指定 IP或網段 連線特定 port 的tcp/udp

語法: ufw <allow/deny> from <target> to <destionation> port <port> prot <protocol>

允許特定IP或網段連線 port 80
# sudo ufw allow from 192.168.1.100 to any port 80
# sudo ufw allow from 192.168.1.0/24 to any port 80

拒絕特定IP或網段連線 port 80
# sudo ufw deny from 192.168.2.100 to any port 80 proto tcp
# sudo ufw deny from 192.168.2.0/24 to any port 80 proto tcp
ufw allow ip port













刪除 UFW 規則

UFW規則刪除有2個方法
1.依建立時的規則刪除

依服務刪除 
# sudo ufw delete allow ssh
依 port 刪除
# sudo ufw delete allow 80
# sudo ufw delete allow 8080/tcp

ufw rules delete







2.依規則序號刪除
列出所有UFW規則序號
#sudo ufw status numbered
依序號刪除 
#sudo ufw delete 1
ufw delete rule number













重設 UFW 規則

直接清空現有規則,重新設定UFW。
# sudo ufw reset
ufw reset rule














使用ufw reset清除規則後,UFW會變為inactive,需重新enable啟動服務

UFW log紀錄設置

語法: ufw logging < on|off|LEVEL >
UFW預設開啟log紀錄,位置為/var/log/ufw.log
UFW log LEVEL low、medium、high、full 四種,預設等級為low,可以依需求調整。
開啟 UFW log 紀錄
# sudo ufw logging on
關閉 UFW log 紀錄
# sudo ufw logging off
調整 UFW log LEVEL為medium
# sudo ufw logging medium
ufw logging










參考資料:

2023年8月5日 星期六

Ubuntu Linux system setting

Ubuntu Linux 系統設定

Ubuntu Linux安裝完成後, 依需求進行系統調整

調整項目

1.SWAP調整

2.時間及校時設定

3.語言環境設置

4.UFW防火牆設置

5.停用IPv6

6.Netplan或NetworkManager網路設定

7.停用自動更新

8.停用休眠

9.停用cloud-init

停用cloud-init有2個方式
1.創建空白文件 /etc/cloud/cloud-init.disabled 
開機過程,系統會檢查該文件是否存在。如果存在,則不會啟動cloud-init。
# sudo touch /etc/cloud/cloud-init.disabled

2.增加cloud-init=disabled到kernel 中,開機過程不啟動cloud-init
# sudo  echo 'GRUB_CMDLINE_LINUX=cloud-init.disabled' >> /etc/default/grub
# sudo  grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

3.移除cloud-init
# sudo dpkg-reconfigure cloud-init
# sudo apt-get purge cloud-init
# sudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/
# sudo reboot