اکنون ما کدهای شبکه ماژولار را پشتیبانی مینماییم، که به این معنی است که میتوانیم به سادگی پشتیبانی برای نوع جدیدی از رابط کاربری و ماژول پیکربندی را در هنگامیکه آنچه اکنون داریم را نگاه میداریم، بیافزاییم.
اگر بستههای ماژولها نصب شده باشند آنها بشکل پیش فرض لود میگردند. اگر ماژولی را مشخص نمایید که بستههای مربوط به آن نصب نشده باشند، پیام ایرادی مربوط به آن بستهایی که نصب نیست دریافت مینمایید. بشکل دلخواه، شما فقط هنگامی از تنظیمات ماژول استفاده مینمایید که دو یا بیش از آن بستههای نصب شدهائی دارید که خدمات مشابهی فراهم مینمایند و میخواهید یکی را به دیگری برتری دهید.
# Prefer ifconfig over iproute2 modules="ifconfig"# You can also specify other modules for an interface # In this case we prefer pump over dhcpcd modules_eth0="pump"# You can also specify which modules not to use - for example you may be # using a supplicant or linux-wlan-ng to control wireless configuration but # you still want to configure network settings per ESSID associated with. modules="!iwconfig"
اکنون تنها دو نگاهدارنده رابط را فراهم میآوریم:
بشکل پیشفرض
# emerge sys-apps/iproute2# To prefer ifconfig over iproute2 if both are installed as openrc prefers # to use iproute2 then modules="ifconfig"
از آنجا که
config_eth0="192.168.0.2/24" config_eth0="192.168.0.2 netmask 255.255.255.0"# We can also specify broadcast config_eth0="192.168.0.2/24 brd 192.168.0.255" config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
اصطلاح DHCP به معنی فراهم آوری اطلاعات شبکه (آدرسIP، سرور DNS، درگاه، دیگر از آن) از یک سرور DHCP است. این به آن معنی است که اگر یک سرور DHCP بروی شبکه در حال اجرا باشد، کافی است به هر سمتکاربری بگویید از DHCP استفاده نماید و آنها خودشان خودشان را برای شبکه تنظیم مینمایند. البته، شما باید برای چیزهای دیگری مانند بیسیم، PPP یا چیزهای دیگری که به آنها نیاز دارید، پیش از استفاده از DHCP خودتان پیکربندی آغاز نمایید.
خدمت DHCP میتواند بوسیله
DHCP Module | Package | Pros | Cons |
---|---|---|---|
اگر بیش از یک DHCP نصب شده دارید، لازم است مشخص نمایید کدام یک استفاده گردد - در غیر اینصورت ما
برای فرستادن انتخابهای مشخص به ماژول DHCP، از
کوشش مینماییم DHCP بشکل نسبی ناوابسته باشد - برای نمونه ما از دستور پیآمد با استفاده از متغییر
# Only needed if you have more than one DHCP module installed modules="dhcpcd" config_eth0="dhcp" dhcpcd_eth0="-t 10"# Timeout after 10 seconds dhcp_eth0="release nodns nontp nonis"# Only get an address
ابتدا لازم داریم تا نرمافزار ADSL را نصب نماییم.
# emerge net-dialup/ppp
پس از آن، ایجاد کد شبکه PPP و کد شبکه برای رابط کاربری ethernet که بوسیله PPP مورد استفاده قرار خواهد گرفت:
# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0 # ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
مطمئن شوید
لازم داریم
config_eth0=null(Specify your ethernet interface) config_ppp0="ppp" link_ppp0="eth0"(Specify your ethernet interface) plugins_ppp0="pppoe" username_ppp0='user' password_ppp0='password' pppd_ppp0=" noauth defaultroute usepeerdns holdoff 3 child-timeout 60 lcp-echo-interval 15 lcp-echo-failure 3 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp" rc_need_ppp0="net.eth0"
همچنین میتوانید کلمه رمز عبور خود را در
# The * is important "username" * "password"
اگر از PPPoE با یک مودم USB استفاده مینمایید، نیاز دارید تا
گزینه APIPA تلاش مینماید تا یک آدرس آزاد در رنج 169.254.0.0-169.254.255.255 با تلاش اتفاقی برای یافتن آن در این رنج بیابد. اگر هیچ بازتابی یافت نشد، آنگاه ما آدرس را به رابط کاربری بشکل دستی میدهیم.
این تنها هنگامی مفید است که همه LANها سرور DHCP ندارند و نیازی به ارتباط آن به اینترنت ندارید و همه رایانهها از APIPA استفاده می نمایند
برای پشتیبانی از APIPA یا
# Try DHCP first - if that fails then fallback to APIPA config_eth0="dhcp" fallback_eth0="apipa"# Just use APIPA config_eth0="apipa"
برای پیوند پیوستگی/گسستگی
از bonding برای افزایش پهنایباند شبکه استفاده مینماییم. اگر دو کارت شبکه دارید که از یک شبکه استفاده می نمایند، میتواند آنها را به هم بپیوندید تا برنامههای شما فقط یک رابط کاربری ببینند اما براستی آنها از هر دو کارت شبکه استفاده مینمایند.
# To bond interfaces together slaves_bond0="eth0 eth1 eth2"# You may not want to assign an IP to the bonded interface config_bond0="null"# Depend on eth0, eth1 and eth2 as they may require extra configuration rc_need_bond0="net.eth0 net.eth1 net.eth2"
برای پشتیبانی پل زنی
از پل زنی برای استفاده همگام از شبکهها استفاده می شود. برای نمونه، ممکن است سروری داشته باشید که با یک مودم ADSL به اینترنت ارتباط داشته باشد و یک اکسس کارت بیسیم دیگر رایانهها را توانا نماید تا از راه مودم ADSL به اینترنت ارتباط پیدا نمایند. میتوانستید یک پل برای استفاده از رابطهای کاربری ایجاد نمایید.
# Configure the bridge - "man brctl" for more details brctl_br0="setfd 0" "sethello 0" "stp off"# To add ports to bridge br0 bridge_br0="eth0 eth1"# You need to configure the ports to null values so dhcp does not get started config_eth0="null" config_eth1="null"# Finally give the bridge an address - you could use DHCP as well config_br0="192.168.0.1/24"# Depend on eth0 and eth1 as they may require extra configuration rc_need_br0="net.eth0 net.eth1"
اگر لازم داشتهباشید، همچنین میتوانید آدرس MACهای رابط کاربری در فایل پیکربندی شبکه را هم دگرگون نمایید.
# To set the MAC address of the interface mac_eth0="00:11:22:33:44:55"# To randomize the last 3 bytes only mac_eth0="random-ending"# To randomize between the same physical type of connection (e.g. fibre, # copper, wireless) , all vendors mac_eth0="random-samekind"# To randomize between any physical type of connection (e.g. fibre, copper, # wireless) , all vendors mac_eth0="random-anykind"# Full randomization - WARNING: some MAC addresses generated by this may # NOT act as expected mac_eth0="random-full"
از آنجا که رابط کاربری آنرا برای شما انجام میدهد نیاز به امرژ نمودن چیزی برای تونلزنی ندارید.
# For GRE tunnels iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"# For IPIP tunnels iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"# To configure the interface config_vpn0="192.168.0.2 peer 192.168.1.1"
برای پشتیبانی VLAN، بسته
دسته LAN شبیه سازیشده گروهی از دستگاههای شبکه است که عادت به برقراری ارتباط با یک بخش مشخص از شبکه دارند - حتی اگر اینکار ممکن نباشد. اعضاء VLAN میتوانند تنها ععضوهای دیگر VLAN شریک در یک شبکه فیزیکی با خودشان را ببینند.
# Specify the VLAN numbers for the interface like so # Please ensure your VLAN IDs are NOT zero-padded vlans_eth0="1 2"# You can also configure the VLAN # see for vconfig man page for more details vconfig_eth0="set_name_type VLAN_PLUS_VID_NO_PAD" vconfig_vlan1="set_flag 1" "set_egress_map 2 6"# Configure the interface as usual config_vlan1="172.16.3.1 netmask 255.255.254.0" config_vlan2="172.16.2.1 netmask 255.255.254.0"