2009年6月26日 星期五

FreeBSD DHCP 設定

DHCP = Dynamic Host Configuration Protocol

DHCP 伺服器有很多軟體可以使用,我們使用 ISC DHCP,請使用下列指令安裝

cd /usr/ports/net/isc-dhcp3-server

make install clean

使用預設的設定即可


/usr/local/etc/dhcpd.conf.sample 有一份預設的 DHCP 設定檔。
複製成 /usr/local/etc/dhcpd.conf 並進行修改。

修改/usr/local/etc/dhcpd.conf

#/usr/local/etc/dhcpd.conf

#authoritative;
#option domain-name
option domain-name-servers 168.95.1.1;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option time-offset 28800;
default-lease-time 86400;
max-lease-time 864000;
option interface-mtu 1500;
option perform-mask-discovery on;
option mask-supplier on;
ddns-update-style none;

subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
}

host alexserver {
hardware ethernet 00:07:e9:03:39:80;
fixed-address 192.168.1.2;
}

# end of dhcpd.conf configuration


server-identifier ; # 標明此伺服器名稱
authoritative; # 宣告此DHCP伺服器為網路中的官方伺服器
option domain-name ; # 設定網域名稱
option domain-name-servers ; # 設定DNS IP,最多指定三台
option time-offset ; # 設定本地時間和格林威治時間差幾秒
default-lease-time ; # 租約使用時間,以秒計算
max-lease-time ; # 最大租期長度,以秒計算
option routers ; # 子網路路由器(gateway)
option subnet-mask ; # 設定要給 client 的預設子網路遮罩。
option broadcast-address ; # 設定要給 client 的預設廣播位址
option perform-mask-discovery on ; #
option mask-supplier on; #
ddns-update-style none; # 設定是否支援 ddns 更新 IP,這個選項一定要存在才不會有錯誤


修改/etc/rc.conf,以在開機時啟動DHCP伺服器

# /etc/rc.conf

dhcpd_enable="YES"

# 讓 DHCP 只接收該網卡進來的要求
dhcpd_ifaces="eth1"

# end of rc.conf configuration

2009年6月20日 星期六

FreeBSD NAT 設定

NAT : Network Address Translation

FreeBSD 預設的 GENERIC 核心並未加入NAT及防火牆功能。
編輯核心設定檔,加入下列設定,並重新編譯核心。

進入此目錄中/usr/src/sys/i386/conf/。
修改GENERIC檔,加入下列設定。

修改/usr/src/sys/i386/conf/GENERIC

# /usr/src/sys/i386/conf/GENERIC

# 防火牆
options IPFIREWALL

# NAT
options IPDIVERT

# 下面這一行是預設允許所有封包通過,如果沒有這一行,
# 就必須在 /etc/rc.firewall 中設定封包的規則。
# 這條規則內定編號是 65535,也就是所有規則的最後一條
# 如果沒有加這一條規則,內定就是拒絕所有封包,
# 只允許規則中允許的封包通過。
options IPFIREWALL_DEFAULT_TO_ACCEPT

# 這一行是讓你可以在 ipfw 中設定要記錄哪些封包,
# 如果沒有這一行,就算設定了要留下記錄也不會有作用。
options IPFIREWALL_VERBOSE

# 這一行是限制每一條規則所要記錄的封包數量,
# 因為同樣的規則可能有許多記錄,加上這一條可以使
# 同樣的記錄重覆數減少,以避免記錄檔爆增。
options IPFIREWALL_VERBOSE_LIMIT=10

# 下面這一行是用來支援封包轉向,
# 當你要使用 fwd 動作時必須要有這一項設定。
options IPFIREWALL_FORWARD

# 如果要使用 pipe 來限制頻寬,必須加入下列選項以支援 dummynet。
options DUMMYNET

# end of BSD configuration

重新編譯安裝核心

config BSD
cd ../compile/BSD
make depend all install

此執行需要一些時間。


設定好第一張網路卡,並確定可以上網後,才開始下列設定。
要修改 /etc/rc.conf 以啟動 NAT 功能。


修改/etc/rc.conf

# /etc/rc.conf

# 設定第二張網路卡的 IP。
ifconfig_eth1="inet 192.168.0.1 netmask 255.255.255.0"

# 設定啟用 gateway 的功能。
gateway_enable="YES"

# 設定啟用防火牆功能,並設定防火牆類型為 OPEN。
# FreeBSD 的防火牆設定檔會自動為 NAT 加入相關的設定。
firewall_enable="YES"
firewall_type="OPEN"

# 設定 NAT 所使用的對外網路卡
natd_interface="eth0"
natd_enable="YES"

# end of rc.conf configuration

設定結束。

2009年6月19日 星期五

Linux 版本查詢

uname -a

Linux user-desktop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux


cat /etc/*-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"


lsb_release -a

No LSB modules are available.
Distributor ID : Ubuntu
Description : Ubuntu 9.04
Release : 9.04
Codename : jaunty

FreeBSD ADSL 設定

ADSL = Asymmetric Digital Subscriber Line 非對稱式數位用戶專線

ADSL連接設定


修改 /etc/ppp/ppp.conf

# /etc/ppp/ppp.conf

default:
set log Phase Chat LCP IPCP CCP tun command
nat enable yes
nat same_ports yes
nat use_sockets yes
set redial 15 28800
set reconnect 15 28800

pppoe: # 註1
set device PPPoE:eth0: # 設定網路卡的型號
set mru 1492
set mtu 1492
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname xxxxxxxxx # 撥接帳號
set authkey yourpassword # 撥接密碼
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR
enable dns

# end of ppp configuration

設定開機自動連線

修改 /etc/rc.conf

# /etc/rc.conf

# 設定自動選擇連線裝置

network_interfaces="auto"
ifconfig_eth0="inet 10.0.0.1 netmask 255.0.0.0 -arp up"

#一開機就執行 PPPoE(建議)

ppp_enable="YES"

# ddial 表示只要斷線便自動連線,或設 auto 表示有資料要
# 出去則自動連線,也可以設為 background 只連一次後放到背景
ppp_mode="ddial"

# "pppop"名稱要與"註1"相同
ppp_profile="pppoe"

# end of rc.conf configuration

手動連接指令

# ppp -background pppoe

停止連線指令

# killall ppp

FreeBSD ssh 設定

SSH = Secure SHell protocol

修改

# vi /etc/defaults/rc.conf

增加以下這一行

sshd_enable="YES"

修改
# vi /etc/ssh/sshd_config

請尋找以下值,並更改如下

PasswordAuthentication yes
UseDNS no